2010-07-15 12 views
0

Actuellement, j'ai une table sur ma page que j'ai besoin de rafraîchir en utilisant Ajax. J'avais l'intention de rendre la table dans une vue partielle, puis appelez simplement une mise à jour MVC render-partial, ce qui aurait été agréable et simple.Asp.Net MVC Ajax rafraîchissement du contenu de la table

Cependant, j'ai depuis ajouté un tas de contrôles de tri/filtrage dans l'en-tête de la table. Je voudrais maintenant rafraîchir le contenu de la table sans perdre cette information dans les lignes d'en-tête.

Je ne suis pas sûr de savoir quelle est la solution la plus propre à cela. Ma table contiendra probablement environ 500 lignes. Quelqu'un pourrait-il donner un conseil? Merci

Répondre

0

J'utilise des appels ajax aux actions qui retournent des données json, et traitons le rendu sur le client avec jquery ou une librerie simulaire. Je pense que cela est la meilleure façon de travailler avec MVC

0

Tout d'abord, faites votre table une vue partielle et mettre la table dans un div et donner une carte d'identité (quelque chose comme « mytablediv »)

À votre avis, reportez-vous à la vue partielle à l'aide Html.RenderPartial

Dans le javascript quand vous avez besoin de rafraîchir quelque chose d'appel de partie comme ceci: (je suppose jquery est disponible)

$('#mytablediv').load(url /* of the partial view*/); 

cela obtenir le html mis à jour ton pa vue rtial et remplacez-le par ce que vous aviez.

0

Je pense que le modèle javascript peut être une solution réalisable ici.

Ce qui suit peut vous être utile.

  1. jQuery templating engines
  2. http://weblogs.asp.net/scottgu/archive/2010/05/07/jquery-templates-and-data-linking-and-microsoft-contributing-to-jquery.aspx

Une autre option est à côté du serveur de rendu pour rendre les tr « s et mettre à jour l'élément tbody uniquement de la table en supposant que vous avez une table avec une section tbody et une section thead qui contient vos filtres. La configuration de la fonction ajax devra avoir un UpdateTargetId = "tbody-id"