Kendo UI MVC Envoyer MultiSelect valeurs de données de la méthode d'Action
Le Kendo UI, Ajax Liaison de la documentation à Ajax Liaison décrit passant de données multiples paramètres à une méthode d'Action, mais il n'a pas d'adresse passage de tableaux comme MultiSelect valeurs.
Dans l'exemple ci-dessous, si multisel est définie sur une chaîne comme "237896", le contrôleur reçoit sitesFilter="237896". Mais si multisel est définie à l'MultiSelect valeur comme indiqué ci-dessous, le contrôleur reçoit sitesFilter = null.
Quelle est la bonne façon d'envoyer tous les MultiSelect valeurs de la méthode d'Action à l'aide de la MVC wrapper?
.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 doit convertir les données à une chaîne comme indiqué ci-dessous:
function getCriteria() {
var multisel = $("#sites").data("kendoMultiSelect").value().toString();
return {
sitesFilter: multisel
};
OriginalL'auteur Mark | 2013-03-29
Vous devez vous connecter pour publier un commentaire.
Ma solution n'est pas utiliser Ajax, mais décrit la transmission de multiselected valeurs au Contrôleur général! Ajaxify, Modèle de transmission devrait fonctionner de la même façon!
.cshtml Vue Filtre: formulaire avec des champs de sélection à afficher les valeurs choisies pour le Contrôleur. Modèle.Produits est un Liste de Type Produit avec des propriétés ID et DisplayName.
Contrôleur.cs: Action
Modèle.cs: Modèle spécifique utilisé
A reçu du courrier de données dans le Contrôleur de l'Action .jpeg: Vous voyez le rempli la Liste de Guid de l'sélectionnez les entrées à partir du Kendo.MultiSelect
<3 Ce un sauvé mon bacon <3
"Reçu de données de POSTES dans l'Action du Contrôleur .jpeg:" est-ce supposé être une image? Pouvez-vous afficher la façon dont vous affichez vos données?
OriginalL'auteur florian.isopp
var multisel = $("#"sites").de données("kendoMultiSelect").valeur(); n'a pas été converti en chaîne de caractères.
var multisel = $("#"sites").de données("kendoMultiSelect").valeur().toString(); résolu le problème.
OriginalL'auteur Mark