asp.Net   发布时间:2022-04-07  发布网站:大佬教程  code.js-code.com
大佬教程收集整理的这篇文章主要介绍了asp.net-mvc – 发布ASP.NET MVC 3 Html.TextAreaFor的HtmlEncode大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。
我有一个ASP.Net MVC 3页面,其中有一个 Html.TextAreaFor控件,请参见下面的代码.如果我尝试将页面提交到http post动作,其中包含尖括号的文本,如:< test>,我得到一个黄色错误屏幕说:

我不明白为什么我得到这个,因为我发现an article by Scott Guthrie说新的<%:%> .Net 4中的语法,将自动HtmlEncode的元素.由于我使用<%:%> Html.TextAreaFor控件的语法,我以为会自动处理这个,并将尖括号转换为正确的“& lt”;和“& gt”字符串.

<% using (Html.BeginForm())
   { %>
    <%: Html.ValidationSummary() %>
    <h2>Enter a description of the support needed</h2>
    <%: Html.TextAreaFor( m => m.RequestText,4,90,null) %>
    <input type="submit" value="Submit" />
<% } %>

解决方法

基本上现在,您正在输出的TextAreaFor的内容进行编码.这并不能帮助您,因为您正在尝试处理输入

如果您想提交“潜在的危险”内容,您还需要

1)使用[AllowHtml]装饰ViewModel中的RequestText属性. (优选的)

[AllowHtml]
public string RequestText { get; set; }

2)禁用validateRequest

<system.web>
    <compilation debug="true" targetFramework="4.0" />
    <httpRuntime requestValidationMode="2.0" />
</system.web>

然后,您必须确保在将数据提交给您的存储库或数据库之前,正确地将数据和/或编码到控制器中.

大佬总结

以上是大佬教程为你收集整理的asp.net-mvc – 发布ASP.NET MVC 3 Html.TextAreaFor的HtmlEncode全部内容,希望文章能够帮你解决asp.net-mvc – 发布ASP.NET MVC 3 Html.TextAreaFor的HtmlEncode所遇到的程序开发问题。

如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。
标签: