我是 MVC 4 和剃须刀的新手。我有一个包含多个部分视图的视图。由于部分视图的功能,我也计划在其他视图中重用这些视图。
我的模型是复杂对象的集合,例如:
public class EmployeeInfo
{
public EmployeeContactInfo contactInfo { get; set; }
public List<TelephoneInfo> phoneDetails { get; set; }
public AddressDetails addressDetails { get; set; }
}
我的主要视图的模型是EmployeeInfo
,其他部分视图的模型TelephoneInfo
分别为EmployeeContactInfo
和AddressDetails
。
我尝试使用RenderPartial
,RenderAction
并Partial
加载我的部分视图,例如:
@using (Html.BeginForm())
{
@Html.Partial("ContactInfo",Model.contactInfo)
}
提交主表单时,主模型没有部分视图的更新值。
我搜索了这个并找到了以下 2 个建议的解决方案:
使用
EditorFor
- 它可以工作并且模型得到更新,但我不仅收集了文本框,还收集了其他具有一些内部操作(如搜索地址)的控件,我还需要在其他地方重用相同的局部视图(如用户控件经典的 ASP.NET)使用
RenderAction
代替RenderPartial
- 它对我不起作用。
如果我出错或理解有误,请告诉我。