[英]How do I call my Visual Basic function from my javascript in a Visual Studios 2010 ASP.net website?
[英]How do I call a static method on my ASP.Net page, from Javascript?
抱歉,这是一个简单的答案,但我似乎找不到(在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#代码,并对返回的结果进行处理。
希望有帮助!
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.