在 MVC 中,当我创建一个带有“必需”属性的模型时,我在 HTML 标记中为该属性创建了一个 EditorFor(输入框),它会自动神奇地添加“data-val-required”CSS属性,我可以随心所欲地设置输入框的样式。
假设我在该输入框之前有一个标题,我如何检测它关联的编辑器是否是必填字段,以便我可以设置标题的样式(将其设为红色或在前面添加一个星号它)而不是输入?
<td>Heading I want to style</td>
<td>@Html.EditorFor(model => model.requiredfield)</td>
最佳答案
您可以按如下方式实现:
在模型中为属性设置 DisplayName
属性如下:
public class ModelName
{
[Required]
[DisplayName("Label Text")]
public string propertyName { get; set; }
}
然后在 View 中,您可以按如下方式为您的编辑器标签添加类:
<td>@Html.LabelFor(model => model.propertyName , new { @class= "className" })</td>
<td>@Html.EditorFor(model => model.propertyName )</td>
上面的标签将呈现如下:
<label for="propertyName " class="className">Label Text</label>
因此,现在您可以根据需要设置编辑器标签的样式。
关于css - 除了输入 (Html.EditorFor) 之外,元素上还需要 MVC 数据值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18596701/