我使用 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>
有更好的建议吗?
最佳答案
通过 CSS,您可以通过 after
伪类添加冒号。您可以找到有关此伪类的更多信息 here .
.editor-label > label:after {
content: ": "
}
工作示例:http://jsfiddle.net/fJQDZ/
请注意 after
伪类在 IE7 中不可用。
关于css - 带冒号的后缀标签文本,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9360840/