2008-12-15 5 views
5

J'ai trouvé ASP.Net PageMethods très pratique et facile à utiliser, mais je viens de commencer à développer en utilisant MVC et je ne sais pas comment les utiliser?PageMethods avec ASP.Net MVC

Quel est l'équivalent de PageMethods.MyFunction() dans MVC où MyFunction est une action de contrôleur?

Je sais que je peux utiliser la fonction Json pour retourner une valeur, mais comment puis-je appeler l'action du client?

Répondre

7

Je sais que je peux utiliser la fonction JSON pour retour une valeur, mais comment dois-je appeler l'action du client?

Je pense que vous cherchez soit getJSON

$.getJSON("/controller/action", function(json) 
{ 
    alert("JSON Data: " + json.users[3].name); 
}); 

ou la méthode jQuery ajax.

Vous pouvez appeler une action et récupérer très facilement des données JSON depuis ASP.NET MVC.

2

Je ne pense pas que vous ayez besoin de méthodes de page. Les méthodes de page dans asp.net sont un moyen d'exposer les méthodes de la classe page à votre code côté client.

Dans MVC, vous n'avez pas de classe de page, vous pouvez donc simplement envoyer un XHR à une URL (../controller/action/params, ou autre) et renvoyer JSON à partir de l'action.

Mise à jour: Après re-lecture de votre question, il semble que vous voulez savoir comment à émettre un XHR du client. En javascript brut, vous pouvez simplement utiliser l'objet XMLHttpRequest, mais quelle que soit la bibliothèque JS que vous utilisez a probablement un wrapper plus agréable. jQuery de, par exemple, est here

+0

Merci, si j'ai l'url pour l'action avec les paramètres, comment puis-je l'exécuter tout en étant capable d'accéder à la valeur Json retournée. – tpower