zoukankan      html  css  js  c++  java
  • 实现AJAX局部刷新以及PageMethod方法的使用

    <html xmlns="http://www.w3.org/1999/xhtml">
    <head runat="server">
        <title></title>
        <script src="../Scripts/jquery-2.1.1.js"></script>
    
        <script type="text/javascript">
    
            //1. 使用PageMethod 方法
            function GetBankName1() {
                var Account = document.getElementById("TextBox1").value;
                PageMethods.GetBankNameByAccount(Account, onSucceed);
            }
            function onSucceed(result) {
                document.getElementById("Label1").innerText = result;
            }
    
    
            //2. 使用AJAX 一部刷新
            function GetBankName2() {
                var Account = $("#TextBox1").val();           
                $.ajax({
                    type: "Post",
                    url: "GetDataFromDB.aspx/GetBankNameByAccount",
                    //data: "{'Account':'" + Account + "','Name':'" + 456 + "'}",            
                    data: "{'Account':'" + Account + "'}",
                    contentType: "application/json; charset=utf-8",
                    dataType: "json",
                    success: function (data) {
                        document.getElementById("Label1").innerText = data.d;
                    }
                });
            }
    
    
            //3. 使用一般的XML请求
            function GetBankName3() {
                var xmlhttp;
                if (window.XMLHttpRequest) {
                    xmlhttp = new XMLHttpRequest();
                }
                else {
                    xmlhttp = new ActiveXObject("Microsoft.XMLHTTP");
                }
                xmlhttp.onreadystatechange = function (data) {
                    if (xmlhttp.readyState == 4 && xmlhttp.status == 200) {
                        //document.getElementById("Label1").innerText = xmlhttp.responseText;
                        alert(data);
                    }
                }
                var Account = document.getElementById("TextBox1").value;
                xmlhttp.open("post", "GetDataFromDB.aspx/GetName", true);
                xmlhttp.send();
    
            }
    
        </script>
    </head>
    <body>
        <form id="form1" runat="server">
            <div>
                <asp:Label ID="Label2" runat="server" Text="Label"></asp:Label> 
                <asp:ScriptManager ID="ScriptManager1" runat="server" EnablePageMethods="true"></asp:ScriptManager>
                Account Number:
                <asp:TextBox ID="TextBox1" runat="server"></asp:TextBox><br />
                Bank Name:<asp:Label ID="Label1" runat="server" Text="Label"></asp:Label>
                <br />
                <input id="Button1" type="button" value="Use Page Method" onclick="GetBankName1();" /><br />
                <input id="Button2" type="button" value="Use AJAX" onclick="GetBankName2();" />
                 <input id="Button3" type="button" value="Use XML Request" onclick="GetBankName3();" />
            </div>
        </form>
    </body>
    </html>

    后台代码:

    public partial class GetDataFromD : System.Web.UI.Page
        {
            protected void Page_Load(object sender, EventArgs e)
            {
                Label2.Text = DateTime.Now.ToString();//检测是否实现了局部刷新
            }
            [WebMethod]
            public static string GetBankNameByAccount(int Account)
            {
                string BankName = "";
                using (SqlConnection conn = new SqlConnection(ConfigurationManager.ConnectionStrings["ConnStr"].ConnectionString))
                {
                    conn.Open();
                    string sql = "select Name from  customers where id=@Account";
                    SqlCommand cmd = new SqlCommand(sql,conn);
                    SqlParameter p = new SqlParameter("@Account",Account);
                    cmd.Parameters.Add(p);
                    using (SqlDataReader r = cmd.ExecuteReader())
                    {
                        if(r.Read())
                        {
                           BankName= r[0].ToString();
                        }
                    }
                }
                return BankName;
            }
    
            [WebMethod]
            public static string GetName()
            {
                return "Hello";
            }
        }
  • 相关阅读:
    MVC学习笔记(六)---遇到的小问题汇总
    C# 手写将对象转换为Json方法
    C# 使用SuperSocket
    C#生成/调用动态链接库
    Winform串口编程---接收数据demo(VSPD虚拟串口)
    js获取浏览器内核判断终端(是QQ打开还是QQ浏览器打开)
    工具函数(获取url , 时间格式化,随机数)
    node和npm的安装和镜像源的修改
    atom常用插件
    查看并关闭端口号
  • 原文地址:https://www.cnblogs.com/songxia/p/4354128.html
Copyright © 2011-2022 走看看