带冒号的Postfix标签文本

时间:2012-02-20 12:06:00

标签: css asp.net-mvc

我使用ASP.NET MVC 3.对于我的表单,我将标签的文本对齐。此外,标签和输入字段之间有一个冒号。

Firstname: [          ]
     Last: [          ]

我可以使用CSS或MVC 3中的一些C#代码自动插入此冒号吗?

到目前为止,我提出的最好的方法是使用[Display(Name="Firstname:")]属性,但这会产生副作用:在验证消息中也包含此冒号:

[Required]
[Display(Name = "Firstname:")]
[StringLength(100, ErrorMessage = "The {0} must be at least {2} character long.", MinimumLength = 1)]
public string Firstname { get; set; }

另一种选择是使用LabelFor()方法重载,但这迫使我指定标签文本两次(一次在模型中,一次在cshtml文件中):

<div>
    <div class="editor-label">@Html.LabelFor(x => x.Firstname, "Firstname:")</div>
    <div class="editor-field">@Html.TextBoxFor(x => x.Firstname)</div>
</div>

有更好的建议吗?

1 个答案:

答案 0 :(得分:29)

通过CSS,您可以通过after伪类添加冒号。您可以找到有关此伪类here的更多信息。

.editor-label > label:after {
    content: ": "
}

工作示例:http://jsfiddle.net/fJQDZ/

请注意,IE7中没有after伪类。