相关疑难解决方法(0)

与嵌套子模型和ASP.NET MVC中的PartialViews进行模型绑定

我有以下类型和类:

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没有获得Contentid属性的前缀- 这些值没有绑定到Page.

我尝试使用松散类型的助手来克服这个问题:

<%= Html.Hidden("Content.TemplateId", Model.TemplateId) %>
Run Code Online (Sandbox Code Playgroud)

当我正在处理一个List<T>非常丑陋的财产时.然后我必须手动渲染集合索引. …

.net c# asp.net-mvc model model-binding

9
推荐指数
1
解决办法
1万
查看次数

标签 统计

.net ×1

asp.net-mvc ×1

c# ×1

model ×1

model-binding ×1