EditorTemplate自动生成的div

时间:2012-02-25 19:05:49

标签: asp.net-mvc

我正在使用名为Address的对象的编辑器模板。

  

@ Html.EditorFor(model => model.Address)

在模板中,我有几个文本框,用于显示有关用户地址的信息。

这是文本框在模板中的写法

 <p class="clear">
     <label for="zip">
         <span>@Html.LabelFor(x => x.ZipCode)</span>
         @Html.TextBoxFor(m => m.ZipCode, new { @class = "big zip" })

     </label>
 </p>

但是当它被渲染时,他们打破了我的CSS

<div class="editor-label"> AND <div class="editor-field">

取代我的标签。

我有什么方法可以改变它?

2 个答案:

答案 0 :(得分:1)

我认为您的编辑器模板实际上并未被使用。这些是默认模板值。您需要提供有关模板的更多信息才能提供帮助。它在哪里?这叫什么?等。(更新您的问题,不要将此信息添加为评论)

您通常会做一个名为Address.cshtml的文件,并将其放在名为EditorTemplates的文件夹中,或者放在与您引用的视图相同的文件夹中,或者放在共享视图文件夹中(如果您需要共享此模板)各种文件夹。

您还应该添加@model Addresss(或任何完全限定的命名空间)。

顺便说一句,你是两个正在生成的标签。这在语义上是不正确的。

答案 1 :(得分:0)

虽然没有使用Razor语法,但Brad Wilson的this文章很好地解释了显示/编辑器模板