2
我有很多表单遵循Label:Control的通用格式。我决定,而不是页面如下:EditorTemplates和ViewData
<div class="row-fluid">
<div class="span4">
@Html.LabelFor(m => m.Prop1)
</div>
<div class="span8">
@Html.TextBoxFor(m => m.Prop1)
</div>
</div>
我会创建一个编辑器模板来保存这种模式,并选择正确的默认控制。当然,队友马上指出,对跨度进行硬编码并没有帮助,所以我添加了一些自定义的ViewData字段,例如“labelSpan”。
的真正的问题是这样的:
@Html.TextBoxFor(m => m, new { @class = @ViewData["class"], style = @ViewData["style"],
id = @ViewData["id"]... etc })
所以问题1:如何巩固通过直接而不必指定每个属性?
问题2:如何以下列方式不冲突?
@Html.LabelFor(m => m, new { @class = @ViewData["LabelClass"], style = @ViewData["LabelStyle"] })