zoukankan      html  css  js  c++  java
  • asp.net中前台javascript与后台C#交互

    使用Ajax开发框架,后台方法定义前添加[AjaxPro.AjaxMethod],然后就可以在前台js脚本中调用后台C#函数……

     

      方法一:使用Ajax开发框架,后台方法定义前添加[AjaxPro.AjaxMethod],然后就可以在前台js脚本中调用后台C#函数。

    参见:AjaxPro使用说明 Asp.net AJAX调用后台静态方法总结 使用AJAX前台调用后台方法及错误示例 

      方法二:后台方法声明为public或者protected,然后前台使用js脚本进行调用。

    以下是代码片段:

    .cs
    public string Str()
    {
    return "javaScript函数中执行后台C#方法..";
    }
    .aspx
    <script type="text/javascript">
    var a = "<%=Str()%>";
    alert(a);
    </script>

            其原理是前台类继承自后台类,故后台类的public、protected的成员对前台类可见

      方法三:使用Session变量

    以下是代码片段:
    .cs
    if (Session["siteName"] == null)//判断是否存在指定Key值的Session变量
    Session["siteName"] = "";//如果不存在则创建Session变量
    //给Session["siteName"]变量赋值
    .aspx
    var siteName="<%=Session["siteName"] %>";

      方法四

    以下是代码片段:
     
    <asp:Button ID="Button1" runat="server" onclick="Button1_Click" style="display:none;"/>
    <input type="button" id="btnSave " value="保存" onclick="GetBehind ();return false;" />
    .aspx.cs
    <script type="text/javascript">
    //调用后台方法
    //使用这种方式调用后台代码,可以在调用之前在前台做一些验证
    function GetBehind() {
    document.getElementById("Button1").click();
    }
    </script>
    .cs
    protected void Button1_Click(object sender, EventArgs e)
    {}

      如何在后台C#代码中执行javaScript函数

      方法一:void Page.RegisterStartupScript(string key,string script);

      方法二:使用隐藏域或者Literal控件,在前台使用js脚本把一些js函数控制的值写进隐藏域或者Literal控件,然后前台使用Hidden.Value或者Literal.Text读取前台值。

    以下是代码片段:
        .aspx
      function GetTitleID(obj)
      {
      sTitleID=obj
      if(sTitleID!=null)
      document.getElementById("HiddenField1").value=type+','+sTitleID;
      else
      document.getElementById("HiddenField1").value=type+',0';
      }
      .cs
      string hiddenValue = this.HiddenField1.Value;


    本文改自:http://winsystem.ctocio.com.cn/371/12085871.shtml

  • 相关阅读:
    Acwing 164 可达性统计 (拓扑排序+bitset)
    STL-bitset的基本用法
    Acwing 115 给树染色 (贪心)
    Acwing 112 雷达设备 (贪心)
    Acwing 110 畜栏预定 (贪心+stl)
    Acwing 110 防晒 (贪心算法)
    Acwing 七夕祭 (前缀和+中位数+思维)
    Acwing 103 电影 (map)
    USACO 最佳牛围栏 (二分答案+前缀和+双指针)
    Acwing 101 最高的牛 (差分数组)
  • 原文地址:https://www.cnblogs.com/szhx/p/3219371.html
Copyright © 2011-2022 走看看