[英]Call c# function of global class from javascript
我有一个返回一些字符串的全局函数。 我需要从页面之一中的JavaScript访问该函数,并将返回值设置为JavaScript变量。
例:-
var jsvariable = <%GlobalClass.MethodReturningString();%>;
怎么做?
您不能像这样调用C#函数。 您需要创建一个Web服务或Web方法才能调用此函数。 请查看此链接,它将为您提供帮助。 http://www.aspsnippets.com/Articles/Calling-ASPNet-WebMethod-using-jQuery-AJAX.aspx
执行以下步骤:
context.Response.Headers.Clear(); context.Response.Write(GlobalClass.MethodReturningString();); context.Response.Flush();
context.Response.Headers.Clear(); context.Response.Write(GlobalClass.MethodReturningString();); context.Response.Flush();
在您的JavaScript中,使用jQuery执行ajax调用:
$.ajax({ url:'someUrl/Handler.ashx', type:'GET', success : function(data){ var someJavascriptVariable = data; } });
注意:这是一个快速而肮脏的编写,因此我不保证该代码一定能正常工作,但这是您入门的重点。
我可以厚一点吗,但是您可以使用Ajax访问ur c#函数
例如
$.post('url', {parameter : parameter }, function (result) {
// here the result is your function return value or output
},"json");
网址格式:“ / pageurl /方法名”
首先,为澄清起见,您似乎并不是在试图从Javascript实际调用C#方法,而是在页面内呈现C#方法的返回值,以便可以将其用作Javascript变量值。客户端。
为此,您需要更新语法,例如:
var jsvariable = '<%= GlobalClass.MethodReturningString() %>';
请注意,如果您的类与从文件后面的代码继承的页面不在同一个命名空间中,则您需要如下导入其命名空间:
<%@ Import Namespace="GlobalClassNamaspace" %>
命名空间导入也可以使用此处所述的web.config文件在全球范围内完成(并且将自动在网站的所有页面上提供)。
如果您实际上需要从Javascript调用C#方法,而您想通过客户端代码动态使用其C#方法,则可以通过Ajax实现。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.