如何使用asp.net脚本标记从javascript向类方法传递参数

如何使用asp.net脚本标记从javascript向类方法传递参数,javascript,asp.net,tags,Javascript,Asp.net,Tags,我想从javascript调用类的一个方法 在javascript中,我正在做这样的事情 <%=myMethod("abc")%> 那么我如何传递这个变量呢 我试过了 <%= myMethod(myValue) %> 但它不能识别myValue变量在代码隐藏中定义一个返回变量值的函数,并呈现为: <%= myMethod(MyValueGet()) %> Javascript在用户计算机上执行(客户端代码)。ASP.NET在服务器上执行(服务器端代码

我想从javascript调用类的一个方法

在javascript中,我正在做这样的事情

<%=myMethod("abc")%>
那么我如何传递这个变量呢

我试过了

<%= myMethod(myValue) %>


但它不能识别myValue变量

在代码隐藏中定义一个返回变量值的函数,并呈现为:

<%= myMethod(MyValueGet()) %>

Javascript在用户计算机上执行(客户端代码)。ASP.NET在服务器上执行(服务器端代码)

无法将javascript变量直接传递给ASP.NET函数。要将某些状态从客户端传递到服务器,必须向服务器发出请求(通常是GET或POST),包括javascript变量


进一步阅读:

要调用传递客户端变量的代码隐藏函数,可以发送javascript ajax调用,并将服务器方法定义为webservice方法。这有助于:


我认为您尝试调用的方法应该公开且静态。除此之外,它还应该用[WebMethod]属性修饰

在页面中隐藏代码(.aspx.cs)

和页面代码(.aspx)

添加脚本管理器(从工具箱)


并调用该方法

 <script>
     function Call(myValue){
       PageMethods.MyMethod(myValue);
     }
 </script>

函数调用(myValue){
PageMethods.MyMethod(myValue);
}

您试图将javascript变量传递给服务器端函数?是的,我试图将javascript变量传递给我不理解的服务器端函数。请你解释一下,我以为这个变量是代码隐藏的(相同的符号)。通过这种方式传递javascript变量是不可能的,因为代码隐藏函数是在呈现页面之前执行的,因此javascript变量尚未设置。您可以建议其他方法吗?
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;
   }
}
<asp:ScriptManager ID="ScriptManager1" EnablePageMethods="true" runat="server" />
 <script>
     function Call(myValue){
       PageMethods.MyMethod(myValue);
     }
 </script>