我使用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>
有更好的建议吗?
答案 0 :(得分:29)
通过CSS,您可以通过after
伪类添加冒号。您可以找到有关此伪类here的更多信息。
.editor-label > label:after {
content: ": "
}
工作示例:http://jsfiddle.net/fJQDZ/
请注意,IE7中没有after
伪类。