我想从javascript中调用一个类的方法,
在javascript中,我正在做这样的事情
<%=myMethod("abc")%>
但值“abc”在例如
的变量中var myValue = "abc";
那么如何传递这个变量?
我试过
<%= myMethod(myValue) %>
但它没有识别myValue变量
答案 0 :(得分:0)
定义一个函数,在代码隐藏中返回变量值,并渲染为:
<%= myMethod(MyValueGet()) %>
答案 1 :(得分:0)
Javascript在用户的计算机上执行(客户端代码)。 ASP.NET在服务器上执行(服务器端代码)。
无法直接将javascript变量传递给ASP.NET函数。要将某个状态从客户端传递到服务器,您必须向服务器发出请求(通常是GET或POST),包括javascript变量。
答案 2 :(得分:0)
要调用代码隐藏函数传递客户端变量,您可以发送javascript ajax调用,并将服务器方法定义为webservice方法。这有助于:
答案 3 :(得分:0)
我认为您尝试调用的方法应该公开并且是静态的。最重要的是,它应该使用[WebMethod]属性
进行修饰在您的页面代码隐藏(.aspx.cs)
中public class TestPage : Page
{
[System.Web.Services.WebMethod]
[System.Web.Script.Services.ScriptMethod]
public static string MyMethod(string para)
{
return "Yes this is working " + para;
}
}
并在您的网页代码(.aspx)中
添加脚本管理器(来自工具箱)
<asp:ScriptManager ID="ScriptManager1" EnablePageMethods="true" runat="server" />
并调用方法
<script>
function Call(myValue){
PageMethods.MyMethod(myValue);
}
</script>