Javascript 未定义PageMethods,添加静态会中断它
我正在开发一个ASP.Net应用程序,在使用JavaScript调用代码中的函数时遇到了一些问题 这是我正在尝试运行的JavaScript函数:Javascript 未定义PageMethods,添加静态会中断它,javascript,c#,asp.net,Javascript,C#,Asp.net,我正在开发一个ASP.Net应用程序,在使用JavaScript调用代码中的函数时遇到了一些问题 这是我正在尝试运行的JavaScript函数: PageMethods.EditRecord($(this).data("row-id")); 这是我的代码隐藏函数: public void EditRecord(string logID) { lblLogID.Text = logID; ClientScript.RegisterStartupScript(GetType(),
PageMethods.EditRecord($(this).data("row-id"));
这是我的代码隐藏函数:
public void EditRecord(string logID)
{
lblLogID.Text = logID;
ClientScript.RegisterStartupScript(GetType(), "Show", "<script> $('#edit').modal('toggle');</script>");
}
public void EditRecord(字符串logID)
{
lblLogID.Text=logID;
RegisterStartupScript(GetType(),“Show”,“$”(“#edit”).modal('toggle');”;
}
如果我像这样运行它,会出现以下错误:
未捕获引用错误:未定义PageMethods
我读了一些书,意识到我应该将public void EditRecord(string logID)
更改为public static void EditRecord(string logID)
不幸的是,当我尝试这样做时,lblLogID
和ClientScript
会出现以下错误:
非静态、方法或属性需要对象引用
如何解决这个问题,使用JavaScript运行代码隐藏方法而不存在所有这些缺点?您需要使用成功回调函数 在你的剧本里
PageMethods.EditRecord($(this).data(“行id”),onSuccess)代码>
成功时的函数(logId)
{$(“#“+”).html(logId);
}
在您的aspx.cs中
[WebMethod]
公共静态字符串EditRecord(字符串logID)
{
返回logID;
}
从移动设备应答
希望这有助于您实施
注意:它必须是静态的。不能在静态方法中使用ASP.net控件。您所能做的就是从该方法返回您想要的任何内容,并在JavaScript中使用它。您需要使用成功回调函数 在你的剧本里
PageMethods.EditRecord($(this).data(“行id”),onSuccess)代码>
成功时的函数(logId)
{$(“#“+”).html(logId);
}
在您的aspx.cs中
[WebMethod]
公共静态字符串EditRecord(字符串logID)
{
返回logID;
}
从移动设备应答
希望这有助于您实施
注意:它必须是静态的。不能在静态方法中使用ASP.net控件。您所能做的就是从该方法返回您想要的任何内容,并在JavaScript中使用它。可能重复:@HansKesting它不是重复的可能重复:@HansKesting它不是重复的