首页 ┆ 网站地图 ┆ 在线留言 ┆ 游戏资讯 ┆ 资源下载 ┆ 端午节祝福 ┆ 迅雷在线影视
设为首页
加入收藏
联系我们
高级搜索
您当前的位置: 主页>NET专区>ASP.NET>Asp.net+AJAX实现的省市县无刷新级联代码
Asp.net+AJAX实现的省市县无刷新级联代码
来源: 发布时间:2008-08-29 发布人: 浏览: 人次   字体: [ ]  

在Asp.net网站开发中,常用到的一个技术是省市县无刷新级联,本来采用AJAX来实现,并附有详细代码
<form id="form1" runat="server">
    <div>
        <div id="dv">
        <table>
            <tr>
            <td><asp:DropDownList ID="ddlProvince" runat="server" onchange="ProvinceChange()"></asp:DropDownList></td>
            <td><select ID="ddlCity" runat="server" onchange="CityChange()"></select></td>
            <td><select ID="ddlArea" runat="server"></select></td>
            </tr>
        </table>
            <br />
            <asp:Button ID="Button1" runat="server" OnClick="Button1_Click1" Text="查看省市县" /></div>
    <script>
        
        function ProvinceChange()
        {
            var obj = document.getElementById("ddlProvince").options[document.getElementById("ddlProvince").selectedIndex];
            var city = document.getElementById("ddlCity");
            var area = document.getElementById("ddlArea");
            var strcitys =  _Default.getParent(obj.value).value;
            if(strcitys.indexOf(",")>0)
            {
                city.length=0;
                city.options[0] = new Option("请选择","-1");
                area.length=0;
                area.options[0] = new Option("请选择","-1");
                var citys = strcitys.split("-");
                for(var i=0;i<citys.length;i++)
                {
                    city.options[i+1] = new Option(citys[i].split(",")[0], citys[i].split(",")[1]);
                }
            }
            else
            {
                city.length=0;
                city.options[0] = new Option("请选择","-1");
            }
        }
        
         function CityChange()
        {
            var obj = document.getElementById("ddlCity").options[document.getElementById("ddlCity").selectedIndex];
            var city = document.getElementById("ddlArea");
            var strcitys =  _Default.getParent(obj.value).value;
            if(strcitys.indexOf(",")>0)
            {
                city.length=0;
                city.options[0] = new Option("请选择","-1");
                var citys = strcitys.split("-");
                for(var i=0;i<citys.length;i++)
                {
                    city.options[i+1] = new Option(citys[i].split(",")[0], citys[i].split(",")[1]);
                }
            }
            else
            {
                city.length=0;
                city.options[0] = new Option("请选择","-1");
            }
        }
    </script>
    </div>
    </form>

CS代码如下:

public sqlDMO sqldmo = new sqlDMO();

    protected void Page_Load(object sender, EventArgs e)
    {
        
        if (!IsPostBack)
        {
            setProvince();
            ListItem listCity = new ListItem("请选择", "-1");
            ddlCity.Items.Insert(0, listCity);
            ListItem listArea = new ListItem("请选择", "-1");
            ddlArea.Items.Insert(0, listArea);
        
        }
        AjaxPro.Utility.RegisterTypeForAjax(typeof(_Default));
    }

    private void setProvince()
    {
        DataTable dtProvince = sqldmo.Query("select ass_id as id,ass_dis as name from assort where ass_name='province'");
        ddlProvince.DataSource = dtProvince;
        ddlProvince.DataTextField = "name";
        ddlProvince.DataValueField = "id";
        ddlProvince.DataBind();
        ListItem listProvince = new ListItem("请选择", "-1");
        ddlProvince.Items.Insert(0, listProvince);
    }

    [AjaxPro.AjaxMethod]
    public string getParent(string parentID)
    {
        DataTable dtCity = sqldmo.Query("select ass_id as id,ass_dis as name from assort where ass_fid='" + parentID + "'");
        string strCity = "";
        for (int i = 0; i < dtCity.Rows.Count; i++)
        {
            strCity += dtCity.Rows[i]["name"].ToString().Trim() + "," + dtCity.Rows[i]["id"].ToString().Trim() + "-";
            if (i == dtCity.Rows.Count - 1) strCity = strCity.Substring(0, strCity.Length - 1);
        }
    
        return strCity;
    }


相 关 文 章   发布商链接
·实例讲解asp.net一次预览并上传多张...
·asp.net中页面Div层内部的控件在垂直...
·解决B/S系统开发中Activex控件需要激...
·asp.net如何自定义配置文件的探讨
·如何在asp.net刷新页面时不提示 "重...
·如何在asp.net中使用javascript获取s...
·asp.net动态生成txt文件并提供用户下...
·如何给FCKeditor编辑器进行精简操作
·小技巧解决Firefox中按下回车键重新...
·asp.net实现一次性上传多个图片或文...
 §最新评论:(评论内容只代表网友观点,与本站立场无关!)
网名: 验证码:  【所有评论】【↑返回顶部
评 分: 12 345
评论内容:(不能超过500字,请自觉遵守互联网相关政策法规。[按 Ctrl+Enter 可直接提交]
注意:请勿在本站发布政治话题、色情及违反法律的内容。
IT知道网 声明:刊登此文章是为了传递更多信息,文章内容仅供参考,转载请注明出处。
推 荐 文 章
·如何实现在DataList控件中的D...
·实例讲解asp.net生成高质量缩
·asp.net适用于IE或FireFox的...
·举例详解C#代码与javaScript...
·asp.net无刷新上传文件
·在Ie中保存图片时出现"800700...
·asp.net文件上传大小限制的控
·asp.net动态生成txt文本文件...
·asp.net实现将Excel文件导入...
·实现多列,带图片的DropDownLi...
·javascript实现TreeView 控件
·ASP.NET配置Word的操作权限
·让FileUpload控件在IE和FireF...
·ASP.NET实现Office文档的分类
·asp.net文件下载显示进度条的
热 门 文 章
·asp.net(C#)上传下载及文件管...
·图解asp.net如何用excel做报...
·asp.net无刷新上传文件
·Asp.Net防止刷新重复提交数据...
·asp.net实现将Excel文件导入...
·asp.net中Web.Config配置文件...
·ASP.NET取得物理路径和虚拟路...
·asp.net(c#)生成验证码代码,...
·asp.net页面回传与js调用服务...
·asp.net(C#版)实现登录验证码...
·DataGrid中DropDownList触发S...
·ASP.net 实现批量数据更新或...
·asp.net中DataBinder.Eval的...
·asp.net可输入的下拉框复合控...
·asp.net中常见的几种日历控件...
网站首页 - 关于本站 - 加入收藏 - 网站地图 - 友情连接 - 在线留言 - 联系我们 - 返回顶部
Copyright © 2007 IT知道网.[冀ICP备07026896号]. All Rights Reserved .