C# 从Javascript调用C方法

C# 从Javascript调用C方法,c#,javascript,asp.net,C#,Javascript,Asp.net,我需要从javascript中的代码隐藏中调用方法。方法显然称为SetText,它是空的 我试过的这个没有用。这是不可能的,至少如果你不提出请求的话。否则,就不可能通过客户端访问服务器端方法。在本例中,通过JS访问服务器端方法。客户端无法以您在问题中指定的方式访问服务器端方法。除非使用AJAX之类的工具,否则您想要做的事情是不可能的 请解释您正在尝试做什么,也许有人可以解释一种不同的方法来解决您的问题。您必须使用服务或处理程序公开C方法。根据您的体系结构,处理程序可以以不同的方式实现MVC、.n

我需要从javascript中的代码隐藏中调用方法。方法显然称为SetText,它是空的


我试过的这个没有用。

这是不可能的,至少如果你不提出请求的话。否则,就不可能通过客户端访问服务器端方法。在本例中,通过JS访问服务器端方法。

客户端无法以您在问题中指定的方式访问服务器端方法。除非使用AJAX之类的工具,否则您想要做的事情是不可能的


请解释您正在尝试做什么,也许有人可以解释一种不同的方法来解决您的问题。

您必须使用服务或处理程序公开C方法。根据您的体系结构,处理程序可以以不同的方式实现MVC、.net HttpHandler、JayRock处理程序等。。 然后必须使用AJAX请求从Javascript调用该方法

请记住,避免在服务器端生成的Javascript代码中嵌入CSharp代码块

参考资料:


进行一次ajax调用,检查连接是否正常。如果连接正常,在服务器端进行实际调用并返回数据

由于您发出了异步请求,所以页面数据不会显示任何错误消息。即使有一些错误,您也会在错误处理程序中得到,并且您知道当错误发生时该怎么做


当客户端代码必须直接与服务器方法联系时,不应该存在任何场景。如果您的设计是这样的,您可以随时解决这个问题。

您可以使用AJAX实现这一点

我目前正在使用HTTPHandler通过AJAX进行调用。我正在使用service.asmx访问我的处理程序,代码如下

if(httpRequest.readyState == 4 && httpRequest.status == 200)
{
    <% SetText(); %>
}
试试这个链接

是的,但是没有ajax调用是不可能的:

请确保您已经导入了所有必要的jquery文件,并且为ajax调用编写的函数应该是静态的


rest将被清除请遵循链接

H我回答了一个类似的问题,关于从Javascript调用C方法,我提供了一个使用AJAX的示例:


希望这会有所帮助

你不能这样做,客户端没有访问服务器代码的权限,如果你再多解释一下你想要实现的目标,我们可能会提供更多帮助,也许是一种服务方法?我正在检查连接是否正常,然后调用一些方法,因为我需要页面始终处于打开状态,即使连接已关闭。那多波斯特巴克呢?@elninho什么?这毫无意义。如果客户端下载了该页面,它将始终处于打开状态。如果他们做了一些触发服务器调用的事情,那么,是的,网络连接需要启动,但是你不能做任何事情来假装,除非你准备预下载整个站点。
<%@ WebService Language="C#" Class="MyClass" %>