0
我有关于MVC Razor中的部分视图的问题。任何帮助都会得到高度赞赏,这很可能是我错过的一些东西,但是当搜索出现同样的问题时,我什么也找不到。MVC Razor Html.Partial子模型
所以我将我的视图绑定到视图模型。
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>
然而,“_ContactInformation”视图而不ContactInformation在<input>
小号
一般剃刀的name
属性呈现结合的名称属性是这样的:名称=“ContactInformation.Address”。但由于它是一个部分,它会呈现为name =“Address”。
我错过了什么,或者这是它的工作方式?
这是按预期工作的。视图是自包含的,他们不知道父视图/模型。如果你想这个工作正常,你需要使用['@ Html.EditorFor(model,template)'](http://msdn.microsoft.com/en-us/library/ee407414(v = vs.118 ).aspx)而不是'@ Html.Partial()'。 – 2014-12-01 18:18:14
我认为最好的MVC有更好的方式,但至少应该有所帮助 - http://thatextramile.be/blog/2011/01/prefixing-input-elements-of-partial-views-with-asp-net- mvc – 2014-12-01 18:19:22
@AlexeiLevenkov如果我要去看局部视图(这是一种奇怪的方式去创建编辑器模板输出...)我宁愿使用一个接口(它创建一个很好的强类型视图),然后创建一个新的编辑器方法,它有一个魔术字符串。 – 2014-12-01 18:23:17