[ValidateInput(false)]
public PartialViewResult SearchWord(string keywords)
{
xxx
}
可以。aspx运行的时候会编译,没有runat="server"属性的html标签会直接输出。而有runat="server"属性的html标签会转换成对应的HtmlControl子类,并加入到微软页面的控件集合中。
是.net 4.0的拦截注入攻击的功能导致的,在input中传递内容之前做一下html的encode就好了。
要好不想改代码,可以设置web.config配置文件,关闭input的注入攻击的检查:
<system.web>
<httpRuntime requestValidationMode="2.0" />
<pages validateRequest="false"></pages>
</system.web>
可以用来应急,不推荐这么做。