Hola estoy llamando a un método simple página de Javascript, aquí está mi código de marcado enmétodo página asp.net Llamar desde javascript no funciona
function OnCallSumComplete(result, userContext, methodName) {
alert(result);
}
function OnCallSumError(error, userContext, methodName) {
if (error !== null) {
alert(error.get_message());
}
}
function test(){
var contextArray = "";
PageMethods.TestMethod("test parameter", OnCallSumComplete, OnCallSumError, contextArray);
}
<asp:ScriptManager ID="ScriptManager1" EnablePageMethods="true" runat="server" />
en cs
[System.Web.Services.WebMethod]
public static string TestMethod(string para)
{
return "Yes this is working";
}
la alerta espectáculo de la resultado y dice "nulo". Reviso Firebug y no veo el error de la consola.
Si cambio la TestMethod a
[System.Web.Services.WebMethod]
public static string TestMethod()
{
return "Yes this is working";
}
Y PageMethod a
PageMethods.TestMethod(function (response) { alert(response); });
Se muestra la respuesta correcta como "Sí esto está funcionando". Sin embargo, necesito pasar el parámetro a la función. ¿Extraño algo?
Gracias por la ayuda.
Hola, lo probé con [System.Web.Script.Services.ScriptMethod] pero me salió el error "PageMethods no está definido" en la consola de Firebug. – windforceus
¿Agregó ScriptService también? Si la clase ya no se define, es porque el archivo javascript que define la interfaz de clase no se está cargando. Intente mirar la pestaña de red y vea si hay algo 404 en usted. – RTigger
Tengo un error de compilación. "Attribute 'System.Web.Script.Services.ScriptService' no es válido en este tipo de declaración. Solo es válido en las declaraciones de 'clase, interfaz'.\t " – windforceus