2011-11-23 9 views
5

MVC RazorでDropDownListを使用していて、自動HTMLエンコーディングに問題があります。 DropdownNamesAndValuesリストでSelectListItem.TextプロパティがそれにHTML太字や斜体タグを有することができることを除いて、正常に動作しますMVC Razor DropDownListでHtml.Rawを使用するには?

@Html.DropDownList("MyList", Model.DropdownNamesAndValues) 

:私のコードは次のようになります。現在、これらは文字通りドロップダウンに表示されています(<i>hello</i> worldなど)。

  • SelectListItem.Text各プロパティに@ Html.Rawを適用するにはどうすればよいですか?
  • これに失敗した場合、代わりにHTMLタグを削除する簡単な方法はありますか?基本的には文字通り現在のように表示するのではなく、
+1

ビューの前にhtmlタグを取り除く必要があります。コントローラーか、好ましくは値を得ようとしているモデルのどちらかで。 –

+0

@Bigfellahullありがとう、私は正規表現を使用してモデルを今すぐ外しています。これを答えると、あなたが最初に応答したときにそれを受け入れます。 – mikel

答えて

1

ビューの前にhtmlタグを外してください。コントローラーか、好ましくは値を得ようとしているモデルのどちらかで。

2

文字列のサブセット<*> and </*>を検索して削除する方法をコントローラに書き込んでください。

ドロップダウンリストにhtmlタグを追加することはできません。

2

はあなたが、あなたは拡張することができ、そして、自分自身をモデル化しますが、HTMLエンコードせずに放出することを許可する場合、ビュードロップダウンリスト

1

に追加するクリーンデータを持って来るから、これらのHTML要素を削除する必要があるかもしれDropDownListヘルパーですので、ListItemToOptionメソッドでHttpUtility.HtmlEncode()へのコールを除外できます。あなたが使用しなければならない多くのコードのようですが、それを拡張する(別の目的のために)のはthis articleに記述されています。

関連する問題