你能从JavaScript调用C#函数吗?

5

https://dev59.com/PXVD5IYBdhLWcg3wXaYd - Mitch Wheat
如果答案没有指定ASP.NET,你可以告诉他们使用JScript .NET。 - Merlyn Morgan-Graham
5个回答

7

您可以实现,但不能直接实现。您需要使用 AJAX 实现或使用 XmlHttpRequest 自己编写 AJAX 调用。


4
您不能直接从客户端代码调用服务器端代码。这是因为按设计,服务器端代码在服务器端执行,而客户端代码在客户端执行。然而,有一些解决方法。要从JavaScript调用服务器端代码,您需要使用AJAX,并且最简单的方法是使用ASP.NET AJAX扩展。
请查看此链接:
如何在ASP.NET AJAX中使用PageMethods从客户端代码调用服务器端函数

3
你可以通过JavaScript调用C#函数,但不能直接调用。也就是说,你不能只包含命名空间并直接调用函数。请求必须间接地通过Web服务器上的接口处理浏览器请求,然后将其发送到函数。有几种方法可以实现这一点:
  1. 使用REST风格的服务。自从我转向ASP.NET MVC以来,我一直在使用这种方式。
  2. 使用Web服务(页面方法和服务类)。再次涉及Ajax,并且有来自Microsoft的特殊工具使这更容易。

1

或者你可以通过调用JavaScript桥接来调用一个托管的C#(或其他)语言函数在Silverlight控件中。

这是一个棘手的问题,答案是“不能直接实现,但是通过Ajax或网页DOM的一点帮助,我可以做到,并且这就是我如何做到的...”。


1

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接