用户操作
[即时聊天] [发私信] [加为好友]
aaronbaiID:aaronbai
61145次访问,排名1731好友5人,关注者9
aaronbai的文章
原创 76 篇
翻译 0 篇
转载 18 篇
评论 18 篇
最近评论
gaoweijin:我 ok了
zhangkai08111:不ok啊。。
zhangkai08111:不ok啊。。
itzoey:懂了
感谢
longhua3311:我是在my.ini文件里改的
文章分类
收藏
    相册
    好友BLOG
    Aaronbai的猫窝
    学习交流
    存档
    软件项目交易
    订阅我的博客
    XML聚合  FeedSky
    订阅到鲜果
    订阅到Google
    订阅到抓虾
    订阅到BlogLines
    订阅到Yahoo
    订阅到GouGou
    订阅到飞鸽
    订阅到Rojo
    订阅到newsgator
    订阅到netvibes

    原创 用AJAX实现下拉框(DropDownList)的联动收藏

    新一篇: 学习XMLHttpRequst对象 | 旧一篇: 用SPRING+STRUTS+HIBERNATE实现注册与登录

    目的:学习AJAX,用于实现在 选择“省份”下拉框时候,联动实现在“城市”下拉框中显示出相应的“城市”名称 。

    步骤1:在页面CS文件中的PAGE_LOGD方法中注册

     protected void Page_Load(object sender, EventArgs e)
       {
            AjaxPro.Utility.RegisterTypeForAjax(typeof(cs文件的类名));

      ///向页面注册对象,在前台用该对象调用后台方法

    }

    步骤2. 在页面CS文件中创建在前台页面需要调用的后台方法

        [AjaxPro.AjaxMethod]
        public DataSet getBranchNameByAjax(string selectedValue)
        {

           IList<SiteBranch> list = siteBaseInfoManager.GetBranchInfo(selectedValue);
           DataSet ds = new DataSet();
           DataTable dtId = new DataTable();
           DataTable dtName = new DataTable();
           DataRow idRow, nameRow;
           dtId.Columns.Add(new DataColumn("id"));
           dtName.Columns.Add(new DataColumn("name"));
           for(int i=0;i<list.Count;i++)
            {
                idRow = dtId.NewRow();
                nameRow =dtName.NewRow();
                idRow[0] = list[i].Id;
                nameRow[0] = list[i].FZJG;

                dtId.Rows.Add(idRow);
                dtName.Rows.Add(nameRow);
            }
            ds.Tables.Add(dtId);
            ds.Tables.Add(dtName);

            return ds;
           
        } 

    步骤3:在下拉框属性中加入JS方法,如下:

     <asp:DropDownList ID="DropDownListPlace" runat="server" onchange="getBranchNameByAjax(this.value)"
                            Width="85px">
                        </asp:DropDownList>

    步骤4:AJAX调用的JS函数,如下:

    function getBranchNameByAjax(value)
    {

     Module_DataManage_SiteInfoManage_SiteInfoManage.getBranchNameByAjax(value,fillSiteBranchByresponse);

    }
    function fillSiteBranchByresponse(response)
    {
      if(response.value==null)
               {
                     if(response.error=="login")
                     {
                         window.location.reload();
                     }
                     alert("与服务器断开连接!");
                }
                else
                {
                  var dtId=response.value.Tables[0];
                  var dtName=response.value.Tables[1];
                  document.getElementById("DropDownListBranch").disabled=false;
                  document.getElementById("DropDownListBranch").length=0;
                  // if(dtId==""||dtId==null){document.getElementById("DropDownListBranch").options.add(new Option("",""));}
                   for(var i=0;i<dtId.Rows.length;i++)
                   {
                      var id=dtId.Rows[i].id;
                      var name=dtName.Rows[i].name;
                       if(name==""||name==null){document.getElementById("DropDownListBranch").options.add(new Option("",""));}
                      document.getElementById("DropDownListBranch").options.add(new Option(name,id));
                   }
               }
     
    }

    步骤5:在工程中加入AjaxPro.dll,见附件

     

    发表于 @ 2007年10月09日 15:34:00|评论(loading...)|编辑

    新一篇: 学习XMLHttpRequst对象 | 旧一篇: 用SPRING+STRUTS+HIBERNATE实现注册与登录

    评论:没有评论。

    发表评论  


    当前用户设置只有注册用户才能发表评论。如果你没有登录,请点击登录
    Csdn Blog version 3.1a
    Copyright © aaronbai