ASP.NET MVC 3 DropDownList selectedindexchanged
J'ai un morceau de la fonctionnalité qui permet aux utilisateurs de filtrer les enregistrements en fonction de leurs propres codes d'état. Dans le menu, j'ai un filtres personnalisés section:
<h3>Custom Filters</h3>
<br />
<ul id="ui-ajax-tabs">
@{ Html.RenderAction("GetGroups", "Manage");}
</ul>
Et ma vue partielle ressemble à ceci:
@model IEnumerable<AllEngage.Model.Group>
@using AllEngage.Web.Helpers
@foreach (var group in Model)
{
<li>
<label for="@group.GroupName">@group.GroupName</label>
@Html.DropDownList("GroupItems", group.GroupItems.ToSelectListItems())
</li>
}
Lorsqu'un élément est sélectionné à partir d'un dropdownlist, je veux une méthode d'action pour le feu dans mon controller:
[HttpGet]
public ActionResult Index(int page = 1, int groupFilterId = -1)
Quelle serait la meilleure façon de procéder? Incendie à l'aide de json ou effectuer un post de retour en quelque sorte?
OriginalL'auteur Paul | 2011-10-31
Vous devez vous connecter pour publier un commentaire.
Vous avez besoin pour passer vous param à l'action. Les fastes façon de le faire - passer par la chaîne de requête avec le même nom que param dans l'action:
L'actualiser vous devez envoyer une requête ajax avec le param qui sera tiré
onchange
de la liste de contrôle. Spécifier un ID de votre commande de filtre:et puis, à l'aide de jQuery faire une requête GET de vos données:
Yep, c'est sûr. C'est juste un exemple rapide. J'ai mis à jour l'échantillon.
J'ai la même chose, mais dans mon contrôleur actionresult n'est pas l'actualisation de la vue. Savez-vous pourquoi?
OriginalL'auteur Samich
vous avez besoin de feu appel ajax à l'aide de jquery, cliquez sur l'événement de la liste déroulante.
Première chek sur cliquez sur l'événement de la liste déroulante si la valeur change alors appel un appel ajax jquery
Je suis collé le code de jquery .
//c'est pour l'appel ajax . la liste déroulante case à le faire vous-même.
"/Wk/Révision/@hTitle/@pageID/?langID=2"
ce qui fera appel à la méthode de contrôleur de révision .
et ensuite, je pense que vous allez faire.
OriginalL'auteur user1006544
Je recommanderais de faire une requête post; vous pouvez en créer une à l'aide de ceci:
http://iridescence.no/post/Invoking-ASPNET-MVC-Actions-from-JavaScript-using-jQuery.aspx
Vous pourriez faire une requête AJAX obtenir la demande, ou si vous souhaitez rediriger loin, vous pouvez modifier le JavaScript de la fenêtre.emplacement pour pointer vers l'action que vous voulez, comme dans:
OriginalL'auteur Brian Mains