mvc “使用 JSON JavaScriptSerializer 进行序列化或反序列化时出错,字符串的长度超过了为 maxJsonLength 属性设置的值” 解决经历

 mvc中 在做一个post提交需要从控制器返回一个字符串(字符串有点长)

 在用json("需返回的字符串");时 报 使用 JSON JavaScriptSerializer 进行序列化或反序列化时出错,字符串的长度超过了为 maxJsonLength 属性设置的值 错误

在网上找了很久解决方案都未成功 下班之后也不想解决这问题 忙其它去了  在坐车回家的路上突然灵光一闪 我只返回字符串为什么要序列化、反序列化呢 还浪费性能,为什么不能像webForm中Handler一样返回文本数据呢   

 第二天上班一试 我的猜想果然正确  下面给出部分关键代码

 

public void Compare()
{
        Response.ContentType = "text/plain";
        Response.Write(model.ToDiff());//model.ToDiff() 方法为返回的长字符串(新写法)
      //return Json(model.ToDiff()); //  原来的写法
}

 

 前台post提交方法

$.post("@Url.Action("Compare","Home")",{},function(data){
       alert(data);
});

 

有时问题 换一种解决思路 也许效果更好,当遇到解决不了的问题 时间允许的情况下可以先放一放  也许下来在不经意间就会想到解决方案

 

posted @ 2012-10-10 10:07  喻家军  阅读(2559)  评论(1编辑  收藏  举报