Asp.net MVC不显示模板编辑



我有类:

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;
    }
}

文件夹共享>编辑器模板

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()

仅显示UrlKeywordReCapcha字段!

为什么Asp.netMVC不使用共享文件夹中的templantes来显示我的嵌套类型PersonDetailsModel

你知道,你本可以编辑你的另一个问题。:(

不管怎样,我认为这行不通。您要么需要自己控制整个模板,要么让MVC自己完成。(我可能错了(

RegisterCoupleModel:创建编辑器模板

@model BindSolution.AndMarried.ViewModel.RegisterCoupleModel
@Html.EditorFor(model => model.Groom)
@Html.EditorFor(model => model.Bride)
@Html.EditorFor(model => model.UrlKeyword)
@Html.EditorFor(model => model.ReCapcha)

或者,您可以在ViewModel中的GroomBride属性上使用[UIHint("PersonDetailsModel"]属性。

阅读EditorForModel中的备注部分,了解这一切的工作原理。

相关内容

  • 没有找到相关文章

最新更新