2011-03-12 74 views

回答

7

这并没有变成像我最初认为是复杂的。

有点免责声明:这是没有完全审查,并且是一个简单的例子,只是为了让它工作。

这是我做过什么:

〜/查看/共享/ _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> 

〜/查看/共享/ EditorTemplates/String.cshtml

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

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

非常感谢为了这!我不是一个专业的程序员,但我是一个专业的“吹风机外”,这节省了我的一些毛囊。 :) – REMESQ 2012-02-07 14:14:14

+0

真的很不错,但如果用@ Html.LabelForModel()和'@Html.TextBox替换主模板中的'',则可以使用HtmlHelper方法而不是ViewData, ...'在你的编辑器模板中加上@ Html.TextBoxForModel()' – jfren484 2015-10-08 18:35:40