2017-01-12 30 views
0

是否可以为MVC中的特定操作设置MaxJSONSerializer的长度。我通过ajax POST调用一个Action方法。并传递参数作为对象本身,因此呼叫没有完成它显示将MaxJSONSerializer的长度设置为MVC中的特定操作

JSON请求太大,无法反序列化。

。我知道我们可以在Web.config文件中更改属性。我想知道是否有任何可能性为特定行动设置它。 这是我使用的ajax函数。如果我发送更小的对象数组,它正在工作。这里settingobj对象被具有较大尺寸:

$.ajax({ 
url: "Home/CreateNew", 
data:{ jobId: val, projectId: selectcaseid, userId: user.id(), objSetting: settingobj, custle: objcustle() }, 
type: "POST", 
success: function(result){ 
     $("#div1").html(result); 
     //Success function 
    }, 
error: function(result){ 
     //error function 
    } 
}); 
+0

请提供控制器的方法,其中异常arrise,JS看起来很好 –

回答

0
StreamReader reader = new StreamReader(Request.Params["custle"]); 
    string bodyText = reader.ReadToEnd(); 
    if (String.IsNullOrEmpty(bodyText)) 
    { 
     // no JSON data 
     return null; 
    } 

    JavaScriptSerializer serializer = new JavaScriptSerializer(); 
    serializer.MaxJsonLength = 2147483647; 
    object jsonData = serializer.DeserializeObject(bodyText); 
    return jsonData; 
相关问题