0
public class PersonDetailsModel
{
public string FistName
{
get;
set;
}
public string LastName
{
get;
set;
}
public string Email
{
get;
set;
}
}
public class RegisterCoupleModel
{
public PersonDetailsModel Groom
{
get;
set;
}
public PersonDetailsModel Bride
{
get;
set;
}
public string UrlKeyword
{
get;
set;
}
public string ReCaptcha
{
get;
set;
}
}
文件夹共享> EditorTemplates
PersonDetailsModel.cshtml
@model BindSolution.AndMarried.ViewModel.PersonDetailsModel
<div class="editor-label">
@Html.LabelFor(m => m.FistName)
</div>
<div class="editor-field">
@Html.EditorFor(m => m.FistName)
@Html.ValidationMessageFor(m => m.FistName)
</div>
<div class="editor-label">
@Html.LabelFor(m => m.LastName)
</div>
<div class="editor-field">
@Html.EditorFor(m => m.LastName)
@Html.ValidationMessageFor(m => m.LastName)
</div>
<div class="editor-label">
@Html.LabelFor(m => m.Email)
</div>
<div class="editor-field">
@Html.EditorFor(m => m.Email)
@Html.ValidationMessageFor(m => m.Email)
</div>
在我的观点:
@Html.EditorForModel()
只显示UrlKeyword
和ReCapcha
字段!
为什么Asp.net MVC不使用共享文件夹中的模板来显示我的嵌套类型PersonDetailsModel
?
我认为上下文是不同的:) 我需要创建模板'RegisterCoupleModel'? 它不能只是创建模板'PersonDetailsModel'? 我试着创建模板,并把属性'UIHint(“PersonDetailsModel”)',但没有工作。 – ridermansb
@Riderman - 是的,除了'PersonDetailsModel'之外,还要创建模板'RegisterCoupleModel',它应该可以工作。 (在这种情况下不需要UIHint)。你的主视图中的'Html.EditorForModel'将呈现'RegisterCoupleModel'模板,然后该模板将调用'新娘'和'新郎'的'PersonDetailsModel'模板。 – RPM1984
好的,我认为没有必要创建'Template' RegisterCoupleModel。再次感谢! – ridermansb