zoukankan      html  css  js  c++  java
  • asmx ASp.net AJAX使用 ScriptManager

    1创建asmx文件

    取消

     // [System.Web.Script.Services.ScriptService]
    

      的注释(创建能够被asp.net AJAX页面回调的web服务时,请务必删除注释符合)

    2创建web方法

    例:

    [WebMethod]
    public string HelloWorld()
    {
    return "Hello World";
    }
    

      下面是一个之前做的二级联动的文本框方法:

    asmx中:

            //这个示例让Web方法能够访问Session对象
            [WebMethod(EnableSession = true)]
            public void DoSomeThing()
            {
                if (Session["myObject"] != null)
                { }
                else
                { }
            }
    
            [WebMethod]
            //从terr取出region
            public List<Region> GetRegionInTerritories(int RegionID)
            {
                List<Region> Region = new List<Region>();
                if (RegionID <0)
                {
                    Region.Add(new Region(-1,"-请选择-"));
                    return Region;
                }
                SqlConnection con = new SqlConnection(
                    WebConfigurationManager.ConnectionStrings["conStr"].ConnectionString);
                SqlCommand cmd = new SqlCommand(
                    "select * from Region where ID=@RegionID", con);
                cmd.Parameters.Add(new SqlParameter("@RegionID", SqlDbType.Int));
                cmd.Parameters["@RegionID"].Value = RegionID;
               // List<Region> Region = new List<Region>();
                try
                {
                    con.Open();
                    SqlDataReader reader = cmd.ExecuteReader();
    
                    while (reader.Read())
                    {
                        Region.Add(new Region(Convert.ToInt32(reader["ID"]),
                            reader["Name"].ToString()));
                    }
                    reader.Close();
                }
                catch (SqlException ex)
                {
                    throw new ApplicationException("data error");
                }
                finally
                {
                    con.Close();
                }
                return Region;
            }

    aspx页面中:

    <script type="text/javascript">
          
            function GetRegion(RegionID) {
                Territories.TerritoriesService.GetRegionInTerritories(RegionID, OnRequestComplete, OnError);
            }
            function OnRequestComplete(result) {
                var ddlRegion = $get("ddlRegion");
                    //document.getElementById("ddlRegion");
                ddlRegion.innerHTML = "";
                
                for (var n = 0; n < result.length; n++) {
                    var option = document.createElement("option");
                    option.value = result[n].ID;
                    option.innerHTML = result[n].Name;
                    ddlRegion.appendChild(option);
                }
            }
            
         
            function OnError(result) {
                var lbl = $get("lblInfo");
                lbl.innerHTML = "<br>" + result.get_message() + "<br>";
            }
            
        </script>

    aspx页面的ScriptManager:

      <asp:ScriptManager ID="ScriptManager1" runat="server">
            <Services>
                <asp:ServiceReference Path="/TerritoriesService.asmx" />
            </Services>
          </asp:ScriptManager>
  • 相关阅读:
    数据库mysql基础语言--各模式的含义
    Linux下判断磁盘是SSD还是HDD的几种方法
    linux解压大全
    RedHat Linux RHEL6配置本地YUM源
    利用ssh传输文件-服务器之间传输文件
    深入理解asp.net里的HttpModule机制
    WPF(一)
    JS中caller和callee
    Vue-Methods中使用Filter
    c#值类型与引用类型区别
  • 原文地址:https://www.cnblogs.com/YoungPop-Chen/p/3304820.html
Copyright © 2011-2022 走看看