在Ajax Binding處的Kendo UI Ajax綁定文檔描述了將多個數據參數傳遞給Action方法,但它沒有處理像MultiSelect值這樣的傳遞數組。Kendo UI MVC將MultiSelect數據值發送到Action方法
在下面的示例中,如果multisel設置爲像「237896」這樣的字符串,則控制器將接收sitesFilter =「237896」。但是,如果multisel設置爲MultiSelect值,如下所示,控制器將接收sitesFilter = null。
什麼是使用MVC包裝將所有MultiSelect值發送到Action方法的正確方法?
.DataSource(dataSource => dataSource
.Ajax()
.ServerOperation(false)
.Read(read => read.Action("Documents_Read", "Document")
.Type(HttpVerbs.Post)
.Data("getCriteria"))
function getCriteria() {
var multisel = $("#sites").data("kendoMultiSelect").value();
return {
sitesFilter: multisel
};
}
public ActionResult Documents_Read([DataSourceRequest] DataSourceRequest request, string sitesFilter=null)
{
return Json(GetDocuments(sitesFilter).ToDataSourceResult(request), JsonRequestBehavior.DenyGet);
}
編輯:getCriteria應該將數據轉換爲字符串,如下圖所示:
function getCriteria() {
var multisel = $("#sites").data("kendoMultiSelect").value().toString();
return {
sitesFilter: multisel
};
Florian - 謝謝。我的問題是通過將多選數據值轉換爲字符串來解決的。 – Mark
<3這一個保存了我的培根<3 – decompiled
「在Controller Action .jpeg中收到POST數據:」這是否應該是圖像?你能顯示你發佈數據的方式嗎? – JoshYates1980