有人已经想出如何在Razor中使用主页面(Master Pages)来编辑和显示模板,类似于Brad Wilson在这里记录的内容吗?感谢。http://bradwilson.typepad.com/blog/2009/10/aspnet-mvc-2-templates-part-5-master-page-templates.html。
这实际上没有我最初想象的那么复杂。
小小地免责声明:这个例子没有经过全面检验,只是一个简单的示例用于让它工作。
我的做法如下:
~/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 = "" })
}
@Html.LabelForModel()
替换<label>...</label>
,并在编辑器模板中用@Html.TextBoxForModel()
替换@Html.TextBox...
,则可以通过使用HtmlHelper方法使其更加完美。 - jfren484