Dokumentacja wiązania Ajax w Kendo U Ajax Binding opisuje przekazywanie wielu parametrów danych do metody Akcji, ale nie odnosi się do przechodzących tablic takich jak wartości MultiSelect.Kendo UI MVC Wyślij wartości danych MultiSelect do metody Akcji
W poniższym przykładzie, jeśli multisel jest ustawiony na łańcuch, taki jak "237896", kontroler otrzymuje sitesFilter = "237896". Ale jeśli multisel jest ustawiony na wartość MultiSelect, jak pokazano poniżej, kontroler otrzymuje parametr sitesFilter = null.
Jaki jest właściwy sposób wysyłania wszystkich wartości MultiSelect do metody Action za pomocą opakowania 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 należy przekonwertować dane na ciąg, jak pokazano poniżej:
function getCriteria() {
var multisel = $("#sites").data("kendoMultiSelect").value().toString();
return {
sitesFilter: multisel
};
Florian - Dzięki. Mój problem został rozwiązany przez konwersję wielosektorowej wartości danych na ciąg znaków. – Mark
<3 Ten uratował mi boczek <3 – decompiled
"Otrzymane dane POST w akcji sterownika .jpeg:" czy to ma być obraz? Czy możesz wyświetlić sposób publikowania swoich danych? – JoshYates1980