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

时间:2014-01-21 15:32:25

标签: javascript asp.net tags

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

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

<%=myMethod("abc")%>

但值“abc”在例如

的变量中
var myValue = "abc";

那么如何传递这个变量?

我试过

<%= myMethod(myValue) %>

但它没有识别myValue变量

4 个答案:

答案 0 :(得分:0)

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

<%= myMethod(MyValueGet()) %>

答案 1 :(得分:0)

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

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

进一步阅读:http://en.wikipedia.org/wiki/Ajax_%28programming%29

答案 2 :(得分:0)

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

http://www.c-sharpcorner.com/UploadFile/rohatash/calling-server-side-function-from-javascript-in-Asp-Net/

答案 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>