asp.net-mvc – 带编码文本的MVC3 TextBoxFor

前端之家收集整理的这篇文章主要介绍了asp.net-mvc – 带编码文本的MVC3 TextBoxFor前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
有没有办法使用TextBoxFor帮助程序与编码文本?

例如:
当使用以下MVC3帮助器和Razor视图引擎时:

@Html.TextBoxFor(model => model.Description)

和model.Description的值被编码,例如:

<script>alert();'</script>

结果是带有编码字符串的文本框,
当想要的结果是带有解码字符串的文本框时:

<script>alert();'</script>

有没有办法使用MVC TextBoxFor编码字符串而不是使用

@Html.TextBox("Description",Server.HtmlDecode(Model.Description))

解决方法

你必须对你的字符串进行html解码.

使用System.Web.HttpUtility.HtmlDecode.

System.Web.HttpUtility.HtmlDecode("&lt;script&gt;alert();&#39;&lt;/script&gt;")

会导致

<script>alert();'</script>

TextBoxFor不支持,因此您有2个选项

1.显示前解码

@{
        Model.Description = System.Web.HttpUtility.HtmlDecode(Model.Description);
     }
    @Html.TextBoxFor(model => model.Description)

2.使用@ Html.TextBox

@Html.TextBox("Description",System.Web.HttpUtility.HtmlDecode(Model.Description))

希望这可以帮助

猜你在找的asp.Net相关文章