2011-08-03 16 views
0

.cshtmlファイルに次のコードがありますが、それぞれには<option>が返されます。 GetDescription()が正しい文字列を返すことを確認したので、私はRazorコードに構文上の問題があるはずです。誰かが問題が何であるか教えてもらえますか?Razor構文に問題があり、関数から文字列を出力しようとしています

  <select> 
      @{ 
       Array enumValues = null; 
       enumValues = Enum.GetValues(typeof(SearchOperatorString)); 
       foreach (var type in enumValues) 
       { 
       <option> 
        @{((Enum)type).GetDescription();} </option> 
       } 
      } 
     </select> 

答えて

1

あなたはGetDescriptionを呼び出しますが、それの結果で何もしない文ブロックを、作っています。あなたがページに表現印刷され、代わりにコードナゲットを使用したい

@Html.DropDownList("myName", 
    enumValues.Cast<SearchOperatorString>() 
       .Select(s => new SelectListItem { Text = e }) 
) 
1

@((Enum)type).GetDescription() 

代わりに、手動でこれを行うことを、あなたはDropDownListヘルパーを呼び出す必要があります

試用:

@foreach(var type in Enum.GetValues(typeof(SearchOperatorString))){ 
    <option>@((Enum)type).GetDescription()</option> 
} 
関連する問題