0
我有一個使用C#MVC包裝器定義的Kendo UI網格。當我在一列標題點擊排序,它似乎叫,我已經定義了read
動作:發送到排序操作的Kendo UI參數爲空
//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
出於某種原因,一些參數是空的,但有些不是。
//MyPage.js
function getRequestData() {
return {
p1: $("#p1").val(),
p2: $("#p2").val(),
p3: $("#p3").val(),
p4: $("#p4").val()
};
};
好像我可以使用parameterMap並檢查類型,以確保數據的排序時發送:
parameterMap: function(data, type) {
if (type == "sort") {
return getRequestData();
}
}
但所有使用parameterMap
的例子使用JavaScript時定義網格而不是c#的包裝。
我是否應該使用parameterMap
,如果是的話,如果我的網格是使用包裝器定義的,如何使用它?如果我不能使用parameterMap
,是否有任何理由排序不發送所有參數?
看起來像你是正確的。我的getRequestData實際上包含了一些我從我的問題中省略的參數。所以我改變了它'.Data(「function(){return getRequestData();}」))'它似乎工作。將測試更多,然後接受你的答案。知道'parameterMap'是否可以在c#中使用,仍然會很有趣。 – row1
@ row1 if parameterMap'work然後讓我知道,我很高興它爲你工作。 – Jaimin