我正在使用MVC Kendo Grid 这是我的Read方法:
@(Html.Kendo().Grid<Model>()
.Name("Grid")
.Columns(columns =>
{
}
.DataSource(dataSource => dataSource
.Ajax()
.Read(read => read.Action("MyAction", "MyController", new { ids =
Model.SelectedIds }))
)
)
Model.SelectedIds是一个逗号分隔的id字符串,我在控制器中分割并获取Ids的记录。 如果Model.SelectedIds是一个小字符串,这可以正常工作 但是,当它是一个包含许多id的巨大字符串(例如3000)时,则永远不会调用Action。
无论我在哪里发送Json数据,我都已在web.config文件中将Json限制设置为max。在这里,我认为它不应该影响,因为这不是Json请求,对吗?
请帮我解决这个问题。
行动如下:
public ActionResult MyAction(DataSourceRequest request, string ids){
}
答案 0 :(得分:0)
我打赌你需要查看max request length以及是否使用了网址,然后查看max url length。此外,还有一个可以控制json长度的配置元素。
<system.web.extensions>
<scripting>
<webServices>
<jsonSerialization maxJsonLength="99999999" />
</webServices>
</scripting>
</system.web.extensions>
答案 1 :(得分:0)
我通过将数据作为对象而不是param
发送来修复此问题.Read(read => read.Action("MyAction", "MyController").Data
("postData"))
JavaScript代码
function postData() {
return { ids: $("#SelectedIds").val() };
}