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