2

私の見解ではEditorFor<>、数値プロパティを表示するには次のようにしています。結果のマークアップで作成されたテキスト ボックスの幅を制御したいと考えています。

ビューがレンダリングされるとき、テキスト ボックスは 50px ではありません。300pxです。CSHTML で指定されたクラスeditor-field-scoreが適用されていないようです。開発者ツールを使用して Chrome をチェックインしましたが、結果のマークアップにクラスが追加されません。

これは私のCSHTMLからのものです:

<div class="editor-field">
   @Html.EditorFor(model => model.Animal, new { @class = "editor-field-score" })
   @Html.ValidationMessageFor(model => model.Animal)
</div>

これは私のCSSからのものです:

fieldset input[type="text"].editor-field-score { width : 50px; }

このマークアップは Chrome からコピーされます。

<div class="editor-field">
   <input class="text-box single-line" data-val="true" data-val-number="The field XXX must be a number." id="Animal" name="Animal" type="text" value="">
   <span class="field-validation-valid" data-valmsg-for="Animal" data-valmsg-replace="true"></span>
</div>
4

1 に答える 1

2

さて、あなたはできる:

.editor-field input {
}

あなたのセレクターとして。

それ以外の場合は、次のように HTML プロパティを設定できる TextBoxFor を使用できます。

@Html.TextBoxFor(model => model.Animal, new { @class = "editor-field-score" })
于 2012-06-27T23:29:07.493 に答える