2011-03-06 4 views
7

J'ai une vue partielle et je veux le rendre dans la vue principale en utilisant jquery.jquery charger avec asp.net MVC vue partielle

Voici comment je coder le jQuery:

$(document).ready(function() { 
     $("#dvGames").load("/LiveGame/Partial3"); 
}); 

où comme méthode du contrôleur ressemble à ceci:

public ActionResult Partial3(DateTime gameDate) 
{ 
    return View("Partial3"); 
} 

Je ne vois pas quoi que ce soit. J'ai essayé

<% Html.RenderPartial("Partial3"); %> 

et il fonctionne, mais je veux filtrer les données en vue partielle, donc je suis en utilisant la méthode de charge jquery.

+0

est l'appel fait dans votre méthode d'action? Frappez-vous un point d'arrêt si un est défini? – rcravens

Répondre

15

Votre action du contrôleur nécessite un paramètre DateTime que vous devez fournir lors de l'appel de la requête AJAX:

$(function() { 
    $('#dvGames').load(
     '<%= Url.Action("Partial3", "LiveGame") %>', 
     { gameDate: '2011-03-06' } 
    ); 
}); 
+4

+1 - aussi, je pense que l'ActionResult Partial3 devrait retourner un partialview(), plutôt qu'un view() !? –

0

Essayez de laisser l'infrastructure créer l'URL. Utilisez le

<%= Url.Action("LiveGame","Partial3") %> 
+1

Il ne va pas dans l'action du contrôleur. et j'ai utilisé <% = Url.Action ("LiveGame", "Partial3")%> et il imprime: "/ Partial3/LiveGame" sur l'écran. J'ai besoin de charger la vue partielle. – DotnetSparrow

+0

Au lieu de coder en dur l'URL dans le chargement, essayez d'utiliser la méthode URL.Action. Fournissez-vous également le paramètre gameDate? – rcravens

+0

@ rcravens Je suis utilisé url.action comme je l'ai mentionné ci-dessus mais il a imprimé la valeur au lieu d'aller à cette vue partielle. Je dois fournir le paramètre gameDate. Comment puis-je faire ceci ? – DotnetSparrow

Questions connexes