Html.DropDownListのようなASP.NET MVCヘルパー・メソッド()出力HTMLをエンコードしていますか?

StackOverflow https://stackoverflow.com/questions/748557

  •  09-09-2019
  •  | 
  •  

質問

私はHtml.DropDownList()のようなHTMLヘルパーを使用した場合の出力を取得した値を符号化を心配する必要があれば、

私は疑問に思ってます。

もしそうなら、私はそれらをどのようにエンコードするのですか?私は手動でドロップダウンを構築した場合、それは何をするのは簡単です - ちょうど「Html.Encode()」とそれぞれの値をラップします。しかし、私はHTMLヘルパーを使用した場合、これを行う方法がわからない。

役に立ちましたか?

解決

の値が自動的にエンコードされているように見えますので、それを自分で行う理由はありません。ここでは、(SelectExtensions.cs中)のCodePlexからダウンロードすることができ、実際のASP.NET MVC 1.0のソースコードからの抜粋です。

    private static string ListItemToOption(SelectListItem item) {
        TagBuilder builder = new TagBuilder("option") {
            InnerHtml = HttpUtility.HtmlEncode(item.Text)
        };
        if (item.Value != null) {
            builder.Attributes["value"] = item.Value;
        }
        if (item.Selected) {
            builder.Attributes["selected"] = "selected";
        }
        return builder.ToString(TagRenderMode.Normal);
    }

他のヒント

彼ら行います。

あなたはHTMLにあなたがエンコードしている場所に応じてそれを自分でそれのHtml.Encode()Html.AttributeEncode()をしたい場合。

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top