我有以下类型和类:
namespace MVC.Models
public class Page
{
public EditableContent Content {get; set; }
}
public class EditableContent
{
public TemplateSection SidebarLeft {get; set; }
public TemplateSection SidebarRight {get; set; }
}
Run Code Online (Sandbox Code Playgroud)
我想Page在我的Edit.aspx视图中编辑实例.因为EditableContent它也附加到其他模型,我有一个强类型的PartialView调用ContentEditor.ascx,并获取EditableContent并呈现它的实例.
渲染部分一切正常,但是当我发布时 - 我内部的所有内容都ContentEditor没有绑定 - 这意味着Page.Content就是这样null.
在PartialView上,我使用强类型的Html Helpers来执行此操作:
<%= Html.HiddenFor(m => m.TemplateId) %>
Run Code Online (Sandbox Code Playgroud)
但是因为表单上的输入元素ContentEditor.ascx没有获得Content其id属性的前缀- 这些值没有绑定到Page.
我尝试使用松散类型的助手来克服这个问题:
<%= Html.Hidden("Content.TemplateId", Model.TemplateId) %>
Run Code Online (Sandbox Code Playgroud)
当我正在处理一个List<T>非常丑陋的财产时.然后我必须手动渲染集合索引. …