Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/328.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 未定义PageMethods,添加静态会中断它_Javascript_C#_Asp.net - Fatal编程技术网

Javascript 未定义PageMethods,添加静态会中断它

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(),

我正在开发一个ASP.Net应用程序,在使用JavaScript调用代码中的函数时遇到了一些问题

这是我正在尝试运行的JavaScript函数:

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它不是重复的