PageMethods with ASP.Net MVC

2019-02-23 07:31发布

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?

2条回答
我命由我不由天
2楼-- · 2019-02-23 07:40

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

查看更多
爷的心禁止访问
3楼-- · 2019-02-23 07:56

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.

查看更多
登录 后发表回答