我经常有这样的C#代码
[DisplayName("Number of Questions")]
public int NumberOfQuestions { get; set; }其中,我使用DisplayName属性在显示时添加空格。如果没有显式地提供DisplayName注解,是否有一个选项告诉MVC在缺省情况下添加空格?
谢谢
发布于 2018-02-27 18:22:44
有两种方法。
1.覆盖LabelFor并创建自定义HTML helper:
自定义HTML帮助器的
公有类CustomHTMLHelperUtilities { //获取属性名称的方法内部静态字符串PropertyName(Expression>表达式){ switch (expression.Body.NodeType) { case ExpressionType.MemberAccess: var memberExpression = expression.Body as MemberExpression;return memberExpression.Member.Name;默认值: return string.Empty;}} //分割camel盒内部静态字符串输出( string camelCaseString)的方法{ string SplitCamelCase= System.Text.RegularExpressions.Regex.Replace( camelCaseString,"(A-Z)",“$1",RegexOptions.Compiled).Trim();return output;}}
公共静态类{ CustomHTMLHelperUtilities.PropertyName(expression);静态类LabelForCamelCase(this HtmlHelper helper,Expression> expression,object htmlAttributes = null) { string propertyName =Expression
颜色新{style=“@Html.LabelForCamelCase(m=>m.YourPropertyName,:red”})
您的标签将显示为'Your Property Name'
2.使用资源文件:
[Display(Name = "PropertyKeyAsperResourceFile", ResourceType = typeof(ResourceFileName))]
public string myProperty { get; set; }我更喜欢第一种解决方案。因为资源文件打算在项目中扮演单独的和保留的角色。此外,自定义HTML帮助器可以在创建后重用。
https://stackoverflow.com/questions/43416656
复制相似问题