2009-06-08 10 views
1

J'ai une grille qui contient des contacts. Il affiche automatiquement les contacts lorsque les utilisateurs accèdent à l'URL/contacts /. Dans une boîte séparée, les gens peuvent filtrer ceux-ci selon différents critères. Je souhaite actualiser uniquement la grille, et non la page entière, lorsque des critères différents sont appliqués.C# MVC: Rechercher grille en vue partielle pour activer le retour AJAX?

Pour ce faire, est-ce que je mettrais la grille de contacts par elle-même dans une vue partielle, et en quelque sorte retourner la vue partielle via AJAX plus tard?

Veuillez me donner un indice dans la bonne direction. Merci :)

Répondre

2

La méthode la plus simple est probablement d'utiliser le jQuery AJAX API pour demander la méthode. Vous utilisez ensuite la propriété Request.IsAjaxRequest() dans votre contrôleur pour voir si la requête a été faite avec AJAX - si c'est le cas, vous renvoyez uniquement le PartialView à partir de l'action du Contrôleur.


Quelques exemples de code:

À votre avis, vous pourriez avoir le balisage suivant:

<div id="gridContainer"> 
    <% Html.RenderPartial("ContactsGrid", ViewData.Model); %> 
</div> 

(en supposant que vos contacts sont contenus dans l'objet Model, et la vue est fortement typé ...)
Vous avez ensuite le code javascript suivant lorsque vous souhaitez mettre à jour la grille:

$('#gridContainer').load('/contacts/', { filterParameter: andItsValue }); 

Vous pouvez également ajouter le paramètre de filtre dans l'URL si vos itinéraires le permettent.

Dans votre action du contrôleur, vous faites la vérification suivante avant de retourner:

if(Request.IsAjaxRequest()) { 
    return PartialView("ContactsGrid", contacts); 
} 
return View(contacts); 
+0

Donc, je devrais avoir la grille dans une vue partielle? – Alex

+0

Oui, la grille va dans la vue partielle. –

+0

Merci pour les exemples de code +1 (serait +3 si je pouvais :)) – Alex

2

Something I put together a while ago...

Je pense que cela va vous aider à démarrer dans la bonne direction. C'est une simple recherche de personnes utilisant AJAX et un UserControl.

+0

choses étonnantes mon ami. – Alex

Questions connexes