asp.net mvc 提交含有html标记的内容被阻拦。
已经设置了<pages validateRequest="false" />也不行我用的是CuteEditor在线编辑器,用javascript获取客户端Id,然后又获取了它所填内容,然后用ajax把它插入到数据库,由于CuteEditor里面内容含有html标签,所以没有反应。请问大家如何解决啊??
除了设置<pages validateRequest="false" />和提交表单之外(这些不行)大家有什么方法吗?
最好给我提供另外一种从CuteEditor获取数据传到数据库的方法!
谢谢大家了,请帮忙啊,我想肯定有解决办法吧,要不人家用asp.net mvc做程序的怎样从在线编辑器里获取数据传到数据库啊! --------------------编程问答-------------------- http://topic.csdn.net/u/20090514/16/d4e8c5e7-1c0a-44f6-a95f-0cbf3ae4067b.html --------------------编程问答-------------------- 回复1楼: 他们那个不行,最终也没解决的办法 --------------------编程问答-------------------- mark.....
--------------------编程问答-------------------- 直接在你的Action上加个特性就可以了: [ValidateInput(false)] --------------------编程问答-------------------- 然后用ajax把它插入到数据库,由于CuteEditor里面内容含有html标签
---------------------
你在用 ajax 去post 数据时,对 编辑器中的数据进行 html编码。
自己写个方法,比如:
function HtmlEncode(str)
{
var s = "";
if (str.length == 0) return " ";
for (var i=0; i <str.length; i++)
{
switch (str.substr(i,1))
{
case "<": s += "<"; break;
case ">": s += ">"; break;
//case "&": s += "&"; break;
case " ": s += " "; break;
case "\'": s += "'"; break;
case "\"": s += """; break;
default: s += str.substr(i,1);break;
}
}
return s;
}
转化一下, 然后再 ajax页面 用 Server.HtmlDecode()去转化一下,然后插入数据库,或者取出数据的时候 Server.HtmlDecode()。
ok? --------------------编程问答-------------------- 楼主你是不是用from表单啊。。。NET本身有一个from表单,你再在内面放一个表单,是无效的,点了没效,不会提交。。。 --------------------编程问答-------------------- 很简单,在提交的action上面加上[ValidateInput(false)] 就行了,例如:
[ValidateInput(false)]
public ActionResult Write()
{
return view();
} --------------------编程问答-------------------- 提交含有html标记的内容会被阻拦,在action上加了[ValidateInput(false)] 也没用
要不HTMLENCODE下. --------------------编程问答-------------------- 前台内容可以编码之后再提交。
如果你一定要提交html标记,最重要的地方是在web.config中添加下面的配置:
<system.web>
<httpRuntime requestValidationMode="2.0" />
</system.web> --------------------编程问答-------------------- 楼主如果用的是mvc2的话,可进行如下设置
在Web.config中的system.web节点添加如下内容
<pages validateRequest="false">
<namespaces>
<add namespace="System.Web.Mvc" />
<add namespace="System.Web.Mvc.Ajax" />
<add namespace="System.Web.Mvc.Html" />
<add namespace="System.Web.Routing" />
</namespaces>
</pages>
<httpRuntime requestValidationMode="2.0"/>
action前添加
[ValidateInput(false)]
public ActionResult MyAction()
补充:.NET技术 , ASP.NET