Nat*_*apa 4 c# asp.net-mvc razor
我的数据库模型在字段名称中的列名称为"_".有没有办法在表单中显示时在Camel Case中显示这些值?喜欢"BusinessName"
我正在使用带有Razor的asp.net MVC3
@Html.LabelFor(model => model.business_name)
Run Code Online (Sandbox Code Playgroud)
小智 5
你能不能只使用DisplayAttribute?
你需要一个新的metadataprovider,它可以从默认的继承,如下所示:
using System;
using System.Web.Mvc;
using System.Collections.Generic;
public class MyMetadataProvider : DataAnnotationsModelMetadataProvider
{
protected override ModelMetadata CreateMetadata(IEnumerable<Attribute> attributes, Type containerType, Func<object> modelAccessor, Type modelType, string propertyName)
{
var metadata = base.CreateMetadata(attributes, containerType, modelAccessor, modelType, propertyName);
if (metadata.DisplayName == null)
metadata.DisplayName = GetDisplayNameFromDBName(propertyName);
return metadata;
}
private string GetDisplayNameFromDBName(string propertyName)
{
return ...;
}
}
Run Code Online (Sandbox Code Playgroud)
在global.asax中注册它,如下所示:
ModelMetadataProviders.Current = new MyMetadataProvider();
Run Code Online (Sandbox Code Playgroud)
您只需提供GetDisplayNameFromDBName的实现,以便在给定属性名称的情况下提供正确的显示名称
| 归档时间: |
|
| 查看次数: |
1031 次 |
| 最近记录: |