2011-04-04 82 views
0

我在ASP.NET MVC 2中构建了一个绑定到模型的表单,使用类似于下面的代码生成我的输入并将它们封装在Ajax.BeginForm("MyAction")内。将HTML/XML输入到HTML.TextBoxFor生成的输入

<%: Html.TextBoxFor(Function(m) Model.SomeProperty, New With {.class = "myClass"})%> 

这一切似乎直到我输入文本,如<html>,此时我的形式指向不再打行动做工精细。我已经尝试了许多不同的输入文本组合,并且它似乎只在输入某种形式的HTML/XML时才会停止工作。

这是一个与TextBoxFor方法一般的已知问题,还是我错过了什么?

回答

1

你有disabled request validation

默认情况下,ASP.NET MVC框架阻止您提交包含潜在恶意内容的表单数据。该功能称为请求验证。

听起来这可能是原因。尝试添加下面的属性到你的动作方法来禁用它

[ValidateInput(false)] 

如果您使用的是.NET 4.0中,您还必须设置validation mode在web.config文件

<httpRuntime requestValidationMode="2.0" /> 
+0

工作一种享受,谢谢! – 2011-04-04 11:11:23