编辑器模板在与EditorFor扩展方法一起使用时被包装

时间:2011-04-08 11:20:21

标签: c# asp.net-mvc

Html.EditorFor扩展在为模型属性生成HTML方面做得非常出色,但我无法更改在表单字段周围生成的类。 (编辑标签,编辑领域)

<div class="editor-label">
<label for="ContactNumber">Contact number</label>
</div>

<div class="editor-field">
<input class="text-box single-line" id="ContactNumber" name="ContactNumber" type="text" value="" />
</div>

我想要做的是创建我自己的编辑器模板,我已经完成了,但是这个方法只是包含了我在已经生成的代码中所做的事情。

所以这是我的模板

@model System.String

<div class="field-wrap">
    <div class="MyOwnClass">
        @Html.LabelFor(m => m)
    </div>
    <div class="MyOwnClass">
        @Html.TextBoxFor(m => m)
        @Html.ValidationMessageFor(m => m)
    </div>
</div>

这是调用Html.EditorForModel()时生成的输出。

<div class="editor-label">
 <label for="ContactNumber">Contact number</label>
</div>

<div class="editor-field">

 <div class="field-wrap">

    <div class="MyOwnClass">
        <label for="ContactNumber">Contact number</label>
    </div>

    <div class="MyOwnClass">
        <input id="ContactNumber" name="ContactNumber" type="text" value="" />
    </div>
 </div>
</div>

如何实现实际呈现我想要的模板?

1 个答案:

答案 0 :(得分:0)

我认为你正在寻找this answer - 即覆盖object.ascx模板。

相关问题