加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 编程开发 > asp.Net > 正文

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

发布时间:2020-12-16 04:08:41 所属栏目:asp.Net 来源:网络整理
导读:有没有办法使用TextBoxFor帮助程序与编码文本? 例如: 当使用以下MVC3帮助器和Razor视图引擎时: @Html.TextBoxFor(model = model.Description) 和model.Description的值被编码,例如: lt;scriptgt;alert();#39;lt;/scriptgt; 结果是带有编码字符串的文本框
有没有办法使用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))

希望这可以帮助

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读