0

我有一个使用 EditorFor() 渲染的视图模型,我希望能够设置模型中特定元素的 css。例如:

public class BasicIdentification
{
    //Primitive Types
    [Display(Name = "First Name")]
    public String FName { get; set; }

     [Display(Name = "Last  Name")]
    public String LName { get; set; }

}

如果我想为 FName 和 LName 设置 CSS 类,我该怎么做?如何将 css“连接”到我的模型。我希望能够使用 EditorFor() 并让它按照我想要的方式呈现。

4

3 回答 3

6

在视图中,默认情况下您会看到类似的内容

<div class="display-label">
    @Html.DisplayNameFor(model => model.LName)
</div>
<div class="display-field">
    @Html.TextBoxFor(model => model.LName)
</div>

要添加 CSS 类或其他内容,您只需执行此操作。

@Html.TextBoxFor(model => model.LName, new { @class="classname" })

class 本身是 .NET 的保留字,因此 @class 仅表示使用 HTML 类属性。

于 2013-05-24T18:06:36.963 回答
0

为名为 BasicIdentification.cshtml 的 BasicIdentification 类创建一个 EditorTemplate。

<table>
  <tbody>
    <tr>
      <td>
        @Html.DisplayFor(model => model.FName)
        @Html.EditorFor(model => model.FName)
      </td>
      <td>
        @Html.DisplayFor(model => model.LName)
        @Html.EditorFor(model => model.LName)
      </td>
    </tr>
  </tbody>
<table>

然后每当你这样做@Html.EditorForModel()并且你的模型是你的BasicIdentification类时,就会生成上面的 HTML。

编辑:关于编辑器模板的附加信息:http: //dineshkumara.blogspot.ca/2011/06/mvc-3-razor-editor-template.html

于 2013-05-24T19:57:36.653 回答
0

您不想按说“设置 CSS”,但我认为在视图模型中包含状态没有问题,然后可以将其转换为 HTML 类,您可以使用该类在您的看法。

于 2013-05-24T18:06:44.837 回答