除输入(Html.EditorFor)之外的元素上的MVC data-val-required

时间:2013-09-03 16:01:23

标签: css asp.net-mvc html-helper

在MVC中,当我创建一个具有“必需”属性的模型时,在HTML标记中,我为该属性创建了一个EditorFor(输入框),它自动地添加了“data-val-required”CSS属性,我可以设置输入框的样式但是我请。

假设我在该输入框之前有一个标题,我如何检测它所关联的编辑器和旁边是否为必填字段,以便我可以设置标题的样式(将其设置为红色或在前面添加星号)它)而不是输入?

<td>Heading I want to style</td>
<td>@Html.EditorFor(model => model.requiredfield)</td>

1 个答案:

答案 0 :(得分:0)

您可以按如下方式实现:

在模型中设置属性的DisplayName属性,如下所示:

public class ModelName
{
    [Required]
    [DisplayName("Label Text")]
    public string propertyName { get; set; }
 }

然后在视图中,您可以为编辑器标签添加类,如下所示:

<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>

因此,现在您可以根据需要为编辑标签设置样式。