2

我只是想知道当我使用 HTML 帮助器(如Html.DropDownList().

如果是这样,我如何对它们进行编码?如果我手动构建下拉列表,这很容易做到——只需用“ Html.Encode()”包装每个值。但是,我不知道在使用 HTML 帮助程序时如何做到这一点。

4

2 回答 2

4

看起来值是自动编码的,所以没有理由自己做。下面是实际 ASP.NET MVC 1.0 源代码的片段,您可以从 codeplex(在 SelectExtensions.cs 中)下载它:

    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);
    }
于 2009-04-14T17:30:12.007 回答
2

他们是这样。

如果你想自己做,这Html.Encode()取决于Html.AttributeEncode()你在 HTML 中编码的位置。

于 2009-04-14T17:22:22.043 回答