繁体   English   中英

MVC Razor HTML.Partial子模型

[英]MVC Razor Html.Partial sub model

我对MVC Razor中的部分视图有疑问。 我们非常感谢您提供的任何帮助,这很可能是我错过的事情,但是在搜索中却发现同样的问题,但我什么也找不到。

因此,我将视图绑定到视图模型。

public class Person
{
    public string Name { get; set; }

    public virtual ContactInformation ContactInformation { get; set; }
}

然后,我有一个局部视图来呈现联系信息模型。

<div>
    @Model.Name
</div>
<div>
    @Html.Partial("_ContactInformation", Model.ContactInformation)
</div>

但是,在<input>name属性中呈现的“ _ContactInformation”视图中没有ContactInformation。

通常,剃刀将name属性绑定到类似以下内容:name =“ ContactInformation.Address”。 但是由于它是局部的,因此将其渲染为name =“ Address”。

我是否缺少某些东西,或者这是它工作的预期方式?

您有两个选择。 选项1-明确指定前缀:

@Html.Partial("_ContactInformation", Model.ContactInformation, new ViewDataDictionary
{
    TemplateInfo = new System.Web.Mvc.TemplateInfo { HtmlFieldPrefix = "ContactInformation" }
})

选项2是将部分视图变成模型的编辑器模板,然后使用EditorFor helper方法,该方法应该能够为您添加前缀:

@Html.EditorFor(m => m.ContactInformation)

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM