字符串的长度超过了maxJsonLength属性上设置的值。在MVC3中

字符串的长度超过了maxJsonLength属性上设置的值。在MVC3中,json,asp.net-mvc-3,jquery,jsonresult,Json,Asp.net Mvc 3,Jquery,Jsonresult,MVC3(.cshtml文件) 在服务器端 public JsonResult ZoneType_SelectedState(int x_Id, int y_Id) { JsonResult result = new JsonResult(); result.Data = "LongString";//Longstring with the length mention below return Json(result.Data,"application/js

MVC3(.cshtml文件)

在服务器端

 public JsonResult ZoneType_SelectedState(int x_Id, int y_Id)
    {
    JsonResult result = new JsonResult();
     result.Data = "LongString";//Longstring with the length mention below
    return Json(result.Data,"application/json", JsonRequestBehavior.AllowGet);
    }
我从服务器端传递长度为1194812的字符串,长度大于1194812。 但我得到的错误是说

"Error during serialization or deserialization using the JSON JavaScriptSerializer. The length of the string exceeds the value set on the maxJsonLength property."

请帮助我解决ASP

您可以编写自定义ActionResult,它将允许您指定序列化程序可以处理的最大数据长度:

public class MyJsonResult : ActionResult
{
    private readonly object data;
    public MyJsonResult(object data)
    {
        this.data = data;
    }

    public override void ExecuteResult(ControllerContext context)
    {
        var response = context.RequestContext.HttpContext.Response;
        response.ContentType = "application/json";
        var serializer = new JavaScriptSerializer();
        // You could set the MaxJsonLength to the desired size - 10MB in this example
        serializer.MaxJsonLength = 10 * 1024 * 1024;
        response.Write(serializer.Serialize(this.data));
    }
}
然后使用它:

public ActionResult ZoneType_SelectedState(int x_Id, int y_Id)
{
    string data = "LongString";//Longstring with the length mention below;
    return new MyJsonResult(data);
}

尝试更新您的
控制器
方法,如下所示:

public JsonResult ZoneType_SelectedState(int x_Id, int y_Id)
{
    var result = Json("LongString", JsonRequestBehavior.AllowGet);
    result.MaxJsonLength = int.MaxValue;
    return result;
}
希望这有助于

public JsonResult ZoneType_SelectedState(int x_Id, int y_Id)
{
    var result = Json("LongString", JsonRequestBehavior.AllowGet);
    result.MaxJsonLength = int.MaxValue;
    return result;
}