La documentazione di Ajax Binding UI di Kendo allo Ajax Binding descrive il passaggio di più parametri di dati a un metodo Action ma non indirizza gli array passanti come i valori MultiSelect.Kendo UI MVC Invia valori di dati MultiSelect al metodo Action
Nell'esempio seguente, se il multisel è impostato su una stringa come "237896", il controller riceve sitesFilter = "237896". Ma se il multisel è impostato sul valore MultiSelect come mostrato di seguito, il controller riceve sitesFilter = null.
Qual è il modo corretto di inviare tutti i valori MultiSelect al metodo Action utilizzando il wrapper MVC?
.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);
}
EDIT: getCriteria dovrebbero convertire i dati in una stringa come illustrato di seguito:
function getCriteria() {
var multisel = $("#sites").data("kendoMultiSelect").value().toString();
return {
sitesFilter: multisel
};
Florian - Grazie. Il mio problema è stato risolto convertendo il valore dei dati multiselect in stringa. – Mark
<3 Questo ha salvato il mio bacon <3 – decompiled
"Dati POST ricevuti nell'azione Controller .jpeg:" si suppone che sia un'immagine? Puoi mostrare come pubblichi i tuoi dati? – JoshYates1980