2008-12-15 24 views
5

Encontré ASP.Net PageMethods muy práctico y fácil de usar, pero acabo de comenzar a desarrollar usando MVC y no estoy seguro de cómo usarlos.PageMethods con ASP.Net MVC

¿Cuál es el equivalente a PageMethods.MyFunction() en MVC donde MyFunction es una acción del Controlador?

Sé que puedo usar la función Json para devolver un valor, pero ¿cómo invoco la acción desde el cliente?

Respuesta

7

Sé que puedo utilizar la función de JSON para un valor de retorno, pero ¿Cómo llamo a la acción desde el cliente?

pienso que usted está buscando, ya sea getJSON

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

o el método jQuery ajax.

Cualquiera puede invocar una acción y recuperar datos JSON de ASP.NET MVC muy fácilmente.

2

No creo que necesite métodos de página. Los métodos de página en asp.net son una forma de exponer los métodos en la clase de página a su código del lado del cliente.

En MVC, no tiene una clase de página, por lo que puede simplemente emitir un XHR a una url (../controller/action/params, o lo que sea), y devolver JSON de la acción.

actualización: Después de volver a leer su pregunta, parece que usted quiere saber cómo para emitir una XHR desde el cliente. En javascript en bruto, puede simplemente usar el objeto XMLHttpRequest, pero cualquier biblioteca JS que esté utilizando probablemente tenga un envoltorio más agradable. jQuery de, por ejemplo, es here

+0

Gracias, si tengo la URL de la acción con parámetros, ¿cómo puedo ejecutar esto mientras puedo acceder al valor de Json devuelto? – tpower