MVC3部分视图和模型不回发更改
我有一个模型,包含一组可以修改的项目。
我使用Partial View渲染集合,而Partial View又使用EditorForModel为集合中的每个元素输出HTML。
@model Footy.Models.EventModel @Model.Team1Name vs @Model.Team2Name
@using (Html.BeginForm("Index", "Event")) { @Html.HiddenFor(m => m.EventID) Team 1 Squad
@Html.Partial("EventPlayers", Model.Team1Players); Team 2 Squad
Html.RenderPartial("EventPlayers", Model.Team2Players); }
部分视图
@model IEnumerable @Html.EditorForModel()
PlayerModel查看
@model Footy.Models.PlayerModel @Model.PlayerName @Html.DropDownListFor(p => p.ParticipationStatusID, new SelectList(Model.ParticipationTypes, "Key", "Value"))
这一切都正确呈现,但是当用户单击输入时,控制器方法不会传递模型中的子集合,例如Model.Team1Players为null
我错过了什么?
编辑:生成的HTML是
谢谢
我认为它与这个问题有关,它还没有答案: 从Ajax呈现的部分视图将数据发回控制器
如果检查渲染的源,是否可以检查渲染的子模型输入的名称和ID是否与模型层次结构相对应?
我相信您需要EditorFor
才能使子模型正确“命名空间”。
所以在EventModel视图中,使用以下内容:
@Html.EditorFor(m => m.Team1Players, "EventPlayers")
不过我不确定。 我在MVC框架方面遇到了类似的问题。
也许问题出在集合绑定中。
试试看这篇文章 。 它应该为您提供有关集合绑定的一些见解
上述就是C#学习教程:MVC3部分视图和模型不回发更改分享的全部内容,如果对大家有所用处且需要了解更多关于C#学习教程,希望大家多多关注—计算机技术网(www.ctvol.com)!
本文来自网络收集,不代表计算机技术网立场,如涉及侵权请联系管理员删除。
ctvol管理联系方式QQ:251552304
本文章地址:https://www.ctvol.com/cdevelopment/949331.html