2

在我看来,我有以下EditorFor<>显示数字属性。我想控制在结果标记中创建的文本框的宽度。

渲染视图时,文本框不是 50px。它是 300 像素。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 {
}

作为您的选择器。

否则,您可以使用 TextBoxFor ,它允许像这样设置 HTML 属性:

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