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-4 – 如何让你的MVC控制器DRY为Edit
- asp.net-web-api – 什么时候使用HttpMessageHan
- asp.net – Visual Studio开发服务器不更新css和
- 从asp.net mvc生成PDF文件
- asp.net – Isapi过滤器无法在IIS 7上运行(在IIS
- asp.net-mvc-4 – 在EF迁移配置类的Seed方法中获
- asp.net-mvc – ASP.NET MVC模型在编辑器模板中绑
- asp.net-mvc-4 – ASP.NET MVC 4通过ActionLink传
- ASP.NET会话状态和多个工作进程
- asp.net-mvc – 如何填充mvc剃刀部分视图
