MVC 3 Razor编辑模板/显示模板主页面

4
1个回答

7

这实际上没有我最初想象的那么复杂。

小小地免责声明:这个例子没有经过全面检验,只是一个简单的示例用于让它工作。

我的做法如下:

~/Views/Shared/_TemplateMaster.cshtml

<div class="editor-label">
    <label for="@ViewData.ModelMetadata.PropertyName">@ViewData.ModelMetadata.GetDisplayName()</label>
</div>
<div class="editor-field">
    @RenderSection("DataContent")
</div>
<div>
    @Html.ValidationMessage("")
</div>

~/Views/Shared/EditorTemplates/String.cshtml

@{
    Layout = "~/Views/Shared/_TemplateMaster.cshtml";
}

@section DataContent
{
    @Html.TextBox("", ViewData.TemplateInfo.FormattedModelValue, new { @class = "" })
}

非常感谢您!我虽然不是职业程序员,但我是一名专业的“抓狂者”,这个帮了我保住了一些头发。 :) - REMESQ
非常好,但如果您在主模板中用@Html.LabelForModel()替换<label>...</label>,并在编辑器模板中用@Html.TextBoxForModel()替换@Html.TextBox...,则可以通过使用HtmlHelper方法使其更加完美。 - jfren484

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接