Csharp/C#教程:MVC3部分视图和模型不回发更改分享


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是

  

Team 1 Squad

si Team Sub Squad

Team 2 Squad

谢谢

我认为它与这个问题有关,它还没有答案: 从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

(0)
上一篇 2021年11月17日
下一篇 2021年11月17日

精彩推荐