MVC3(.cshtml文件)
$.getJSON(URL, Data, function (data) {
document.getElementById('divDisplayMap').innerHTML = data;
if (data != null) {
$('#myTablesId').show();
tdOnclickEvent();
}
else {
$('#myTablesId').hide();
}
}).error(function (xhr, ajaxOptions, thrownError) { debugger; });
在服务器端
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且超过该值。 但我得到的错误是
"Error during serialization or deserialization using the JSON JavaScriptSerializer. The length of the string exceeds the value set on the maxJsonLength property."
请帮我解决ASP
答案 0 :(得分:2)
您可以编写一个自定义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);
}
答案 1 :(得分:0)
尝试更新您的Controller
方法,如下所示:
public JsonResult ZoneType_SelectedState(int x_Id, int y_Id)
{
var result = Json("LongString", JsonRequestBehavior.AllowGet);
result.MaxJsonLength = int.MaxValue;
return result;
}
希望这会有所帮助......