資源中的DisplayName屬性?我有一個本地化的應用程序,我想知道是否可以DisplayName從資源中設置某個模型屬性。我想做這樣的事情:public class MyModel {
[Required]
[DisplayName(Resources.Resources.labelForName)]
public string name{ get; set; }}但是我不能這樣,因為編譯器說:“屬性參數(shù)必須是常量表達式,typeof表達式或屬性參數(shù)類型的數(shù)組創(chuàng)建表達式”:(有沒有解決方法?我手動輸出標簽,但我需要這些用于驗證器輸出!
3 回答

慕萊塢森
TA貢獻1810條經(jīng)驗 獲得超4個贊
public class Person{ // Before C# 6.0 [Display(Name = "Age", ResourceType = typeof(Testi18n.Resource))] public string Age { get; set; } // After C# 6.0 // [Display(Name = nameof(Resource.Age), ResourceType = typeof(Resource))]}
定義屬性的ResourceType,以便查找資源
定義用于資源鍵的屬性的名稱,在C#6.0之后,您可以使用
nameof
強類型支持而不是硬編碼鍵。在控制器中設置當前線程的文化。
Resource.Culture = CultureInfo.GetCultureInfo("zh-CN");
將資源的可訪問性設置為public
像這樣在cshtml中顯示標簽
@Html.DisplayNameFor(model => model.Age)
- 3 回答
- 0 關注
- 1311 瀏覽
添加回答
舉報
0/150
提交
取消