2016-06-30 3 views
0

を表示しません値が割り当てられた "文字列。列挙モデルやビューを変更するにはどうすればよいですか?私の列挙型の値は、私は私のモデルで列挙型を持っており、それが適切にビューに表示名プロパティに割り当てられた値が表示されていないが、それは「AB」</p> <pre><code>[display(Name) ="Value Assigned"]= AB </code></pre> <p>"の値を表示して適切にasp.net MVC

+0

MVCのどのバージョンですか? –

+0

フィールドを表示するために使用している剃刀コードを共有できますか? –

+0

MVC 5. @ Html.DisplayFor(model => model.Industry)業界は私のenumです – Jahson

答えて

1

/Views/Shared/DisplayTemplatesフォルダにこのエディタテンプレートコードを含めます。フォルダがまだ存在しない場合は作成します。

@model Enum 

@* To display enum value in the view as it is givn by the data annotation Display[] method*@ 

@if (EnumHelper.IsValidForEnumHelper(ViewData.ModelMetadata)) 
{ 
    // Display Enum using same names (from [Display] attributes) as in editors 
    string displayName = null; 
    foreach (SelectListItem item in EnumHelper.GetSelectList(ViewData.ModelMetadata, (Enum)Model)) 
    { 
     if (item.Selected) 
     { 
      displayName = item.Text ?? item.Value; 
     } 
    } 

    // Handle the unexpected case that nothing is selected 
    if (String.IsNullOrEmpty(displayName)) 
    { 
     if (Model == null) 
     { 
      displayName = String.Empty; 
     } 
     else 
     { 
      displayName = Model.ToString(); 
     } 
    } 

    @Html.DisplayTextFor(model => displayName) 
} 
else 
{ 
    // This Enum type is not supported. Fall back to the text. 
    @Html.DisplayTextFor(model => model) 
} 

これ以外の変更は必要ありません。この問題を解決しました。

0

jUIHint("Enum")をモデルのenumプロパティで使用することを忘れないでください。

追加リソース:codeproject.com

+0

リンクに説明を追加できますか? –

関連する問題

 関連する問題