Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

PageMethods with ASP.Net MVC

I have found ASP.Net PageMethods very handy and easy to use, but I have just started developing using MVC and am not sure how to use them?

What is the equivalent of PageMethods.MyFunction() in MVC where MyFunction is a Controller action?

I know I can use the Json function to return a value, but how do I call the action from the client?

like image 254
tpower Avatar asked Dec 15 '08 20:12

tpower


2 Answers

I know I can use the Json function to return a value, but how do I call the action from the client?

I think you're looking for either getJSON

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

or the ajax jQuery method.

Either can call an action and get JSON data back from ASP.NET MVC very easily.

like image 109
Dan Esparza Avatar answered Nov 08 '22 15:11

Dan Esparza


I don't think you need page methods. Page methods in asp.net are a way to expose methods in the page class to your client-side code.

In MVC, you don't have a page class, so you can just issue an XHR to a url (../controller/action/params, or whatever), and return JSON from the action.

Update: After re-reading your question, it sounds like you want to know how to issue an XHR from the client. In raw javascript, you can just use the XMLHttpRequest object, but whatever JS library you are using probably has a nicer wrapper. jQuery's, for instance, is here

like image 38
Gabe Moothart Avatar answered Nov 08 '22 14:11

Gabe Moothart