Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/272.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/image/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 发送到排序操作的剑道UI参数为空_C#_Asp.net Mvc_Kendo Grid - Fatal编程技术网

C# 发送到排序操作的剑道UI参数为空

C# 发送到排序操作的剑道UI参数为空,c#,asp.net-mvc,kendo-grid,C#,Asp.net Mvc,Kendo Grid,我有一个使用C#MVC包装器定义的剑道UI网格。当我单击列标题进行排序时,它似乎调用了我定义的read操作: //index.cshtml .DataSource(dataSource => dataSource .Ajax() .Model(model => ...) .Read(read => { read.Action("Read", "MyData").Type(HttpVerbs.Post).Data("getReque

我有一个使用C#MVC包装器定义的剑道UI网格。当我单击列标题进行排序时,它似乎调用了我定义的
read
操作:

//index.cshtml
.DataSource(dataSource => dataSource
    .Ajax()
    .Model(model => ...)
    .Read(read =>
    {
        read.Action("Read", "MyData").Type(HttpVerbs.Post).Data("getRequestData()"));
    })

//MyDataController.cs
public ActionResult Read([DataSourceRequest] DataSourceRequest request, string p1, string p2, string p3, string p4)
搜索时,它不调用
getRequestData
,并且由于某些原因,某些参数为null,但某些参数不为null

//MyPage.js
function getRequestData() {
    return {
        p1: $("#p1").val(),
        p2: $("#p2").val(),
        p3: $("#p3").val(),
        p4: $("#p4").val()
    };
};
似乎我可以使用并检查类型,以确保在排序时发送数据:

parameterMap: function(data, type) {
  if (type == "sort") {
    return getRequestData();
  }
}
但是使用
parameterMap
的所有示例都是在使用JavaScript定义网格而不是c#wrapper时使用的


我应该使用
parameterMap
,如果是,如果我的网格是使用包装器定义的,如何使用它?如果我不能使用
parameterMap
,有什么原因导致排序没有发送所有参数吗?

您好,您必须从
.Data(“getRequestData”)
中删除
()
,然后它才能工作

.Read(read =>
{
 read.Action("Read", "MyData").Type(HttpVerbs.Post).Data("getRequestData"));
})

看来你是对的。我的
getRequestData
实际上包含了一些我在问题中忽略的参数。所以我把它改成了
.Data(“function(){return getRequestData();}”)
,它似乎可以工作。我会再测试一点,然后接受你的答案。如果
parameterMap
可以从c#@row1使用,我还是很想知道。如果
parameterMap
可以工作,请告诉我,我很高兴它能为您工作。