gpt4 book ai didi

javascript - 如何从 Javascript 调用 ASP.Net 页面上的静态方法?

转载 作者:行者123 更新时间:2023-11-27 23:49:04 24 4
gpt4 key购买 nike

抱歉,如果这是一个简单的答案,但我似乎找不到这个(在 SO 或 Google 上)。

我有一个 aspx 页面,带有 GridView,每条记录都有一个按钮。

我需要做的是在每条记录上执行一些 Javascript,从底层页面类请求一些数据。类上的方法是静态的,所以我对实例不感兴趣。

此外,我想调用此方法而不进行回发。这可以做到吗?如果可以,我该怎么做?

注意

我知道每个人总是想要代码,但本质上,我正在寻找可以放入 OnClientClick 事件中的代码片段。像这样的事情:

<asp:Button id="myButton" 
runat="server"
...
OnClientClick='PageClass.UserMustConfirm()?confirm("Are you sure you want to continue?") : true ' />

最佳答案

就像评论中的其他人已经说过的那样,您将需要使用 Ajax 或 PageMethods...但我想首先澄清您可能对其工作原理的一些误解。

在客户端中运行的代码与在服务器中运行的代码有明显的区别—​​—这不可能让您直接从客户端代码调用服务器代码——怎么可能呢?相反,您需要向该代码“所在”的服务器发出请求,获取响应,并在客户端中用它做一些有意义的事情——这就是 PageMethods 所做的:它打开一个方法作为 WebMethod 并让客户端代码无缝地执行某些操作。

但你不应该这样做。

不要依赖基本上古老的框架(WebForms),而是考虑使用 jQuery 的 $.ajax(...)Promise 对象来执行此操作以一种更明确的、与框架无关的方式。

简短回答:您不能直接从运行的 JavaScript 调用 C#(至少在浏览器中)。

长答案:您可以使用 Ajax 发送服务器参数来调用 C# 代码并对返回的结果执行某些操作。

希望有帮助!

关于javascript - 如何从 Javascript 调用 ASP.Net 页面上的静态方法?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32871225/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com