带冒号的Postfix标签文本

tof*_*fi9 18 css asp.net-mvc

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

Firstname: [          ]
     Last: [          ]
Run Code Online (Sandbox Code Playgroud)

我可以使用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; }
Run Code Online (Sandbox Code Playgroud)

另一种方法是使用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>
Run Code Online (Sandbox Code Playgroud)

有更好的建议吗?

My *_*rts 33

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

.editor-label > label:after {
    content: ": "
}
Run Code Online (Sandbox Code Playgroud)

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

请注意,afterIE7中不提供伪类.