我只是延长了我的
this question.
我在我的MVC Web应用程序中有我的App_LocalResources(我没有在单独的dll中).
我有一个不同组件的模型.在模型中我有2个国家和城市类:
public class Country: MyContainer { public City city {get;set;} } public class City { public CityName {get;set;} } public class MyContainer { public Cid {get;set;} }@H_403_7@所以在我的action方法中,我创建并传递country的对象作为我的viewmodel.
在视图中我用这个:
@Html.LabelFor(mdl=>mdl.City.CityName) @Html.LabelFor(mdl=>mdl.Cid)@H_403_7@
解决方法
您可以编写自定义显示属性:
public class LocalizedDisplayNameAttribute : DisplayNameAttribute { public LocalizedDisplayNameAttribute(string key): base(FormatMessage(key)) { } private static string FormatMessage(string key) { // TODO: fetch the corresponding string from your resource file throw new NotImplementedException(); } }@H_403_7@然后:
public class City { [LocalizedDisplayName("cityname")] public string CityName { get; set; } }@H_403_7@您也可以签出following localization guide.它提供了样本属性的完整实现.