我有一个返回一些字符串的全局函数。 我需要在其中一个页面中从JavaScript访问该函数,并将返回值设置为JavaScript变量。
实施例: -
var jsvariable = <%GlobalClass.MethodReturningString();%>;
怎么做?
答案 0 :(得分:0)
你不能像这样调用C#函数。你需要创建一个Web服务或webmethod 为了调用这个功能。 请看这个链接它会对你有所帮助。 http://www.aspsnippets.com/Articles/Calling-ASPNet-WebMethod-using-jQuery-AJAX.aspx
答案 1 :(得分:0)
执行以下步骤:
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;
}
});
注意:这是一个快速而肮脏的写入,所以我不保证代码肯定会起作用,但是你可以从这开始。
答案 2 :(得分:0)
可能我很厚你不能这样做,但你可以使用ajax
访问你的c#函数例如
$.post('url', {parameter : parameter }, function (result) {
// here the result is your function return value or output
},"json");
网址格式:'/ pageurl / methodname'
答案 3 :(得分:0)
首先,作为一个澄清,似乎你并没有尝试从Javascript实际调用C#方法,而是从页面内部的C#方法渲染返回,以便它可以用作Javascript变量客户端的价值。
为此,您需要更新语法,如:
var jsvariable = '<%= GlobalClass.MethodReturningString() %>';
请注意,如果您的类与代码隐藏文件中的继承页面不在同一名称空间中,则需要导入其命名空间,如下所示:
<%@ Import Namespace="GlobalClassNamaspace" %>
命名空间导入也可以全局完成(并且它将在所有站点的页面中自动提供),使用描述为here的web.config文件。
如果你真的需要从Javascript调用C#方法,如果你想从客户端代码中动态使用它的结果,则需要这样做,那么这可以通过Ajax完成。