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 に答える