ASP.NET Web Form服务器控件三级联动

<form id="form1" runat="server">
         <asp:ScriptManager ID="ScriptManager1" runat="server">
        </asp:ScriptManager>

<asp:UpdatePanel ID="UpdatePanel1" runat="server" style="display:inline-block">
                    <ContentTemplate>
                        <asp:DropDownList  ID="ddltype1" runat="server" OnSelectedIndexChanged="ddltype1_SelectedIndexChanged"
                            AutoPostBack="true">
                        </asp:DropDownList>
                        &nbsp;
                        <asp:DropDownList ID="ddltype2"  runat="server" Visible="false" OnSelectedIndexChanged="ddltype2_SelectedIndexChanged"
                            AutoPostBack="true">
                        </asp:DropDownList>
                        <asp:DropDownList ID="ddltype3"  runat="server" Visible="false">
                        </asp:DropDownList>
                    </ContentTemplate>
                </asp:UpdatePanel>

三级联动页面代码


        protected void ddltype1_SelectedIndexChanged(object sender, EventArgs e)
        {
            string ChannelID = ddltype1.SelectedValue;
            if (ChannelID == "")
            {
                ddltype2.Visible = false;
                return;
            }
            Binder(Convert.ToInt32(ChannelID), ddltype2);
        }

        protected void ddltype2_SelectedIndexChanged(object sender, EventArgs e)
        {
            string ChannelID = ddltype2.SelectedValue;
            if (ChannelID == "")
            {
                ddltype3.Visible = false;
                return;
            }
            Binder(Convert.ToInt32(ChannelID), ddltype3);
        }

        private void Binder(int ChannelID, DropDownList ddl)
        {
            if (ddl.Items.Count > 0)
            {
                ddl.Items.Clear();
            }
            ddl.DataTextField = "User_Group_Name";
            ddl.DataValueField = "User_Group_Id";
            List<Community.Model.USER_GROUP> lnc = Community.BLL.BUSER_GROUPExtBLL.GetGROUP(ChannelID);
            if (lnc.Count > 0)
            {
                ddl.Visible = true;
                ddl.DataSource = lnc;
                ddl.DataBind();
                ddl.Items.Insert(0, new ListItem("---请选择----", ""));
            }
            else
            {
                ddl.Visible = false;
            }
        }

三级联动后台SelectedIndexChanged事件

            string type1 = ddltype1.SelectedValue;
            string type2 = ddltype2.SelectedValue;
            string type3 = ddltype3.SelectedValue;

            if (type1 != "" && type2 != "" && type3 != "")
            {
                channelid = Convert.ToInt32(type3);
            }
            else if (type1 != "" && type2 != "" && type3 == "")
            {
                channelid = Convert.ToInt32(type2);
            }
            else if (type1 != "" && type2 == "" && type3 == "")
            {
                channelid = Convert.ToInt32(type1);
            }
            else
            {
                channelid = 0;
            }

三级联动后台接受值的代码

时间: 2024-10-10 05:02:36

ASP.NET Web Form服务器控件三级联动的相关文章

关于asp.net web form 和 asp.net mvc 的区别

asp.net web forms 有什么缺陷? 1.视图状态臃肿:服务器和客户端传输过程中包含了大量的试图状态——在现在的web程序中甚至多达几百kb,而且每次往返都会请求,导致服务器请求带宽增加,减慢服务器与客户端交互速度. 2.页面生命周期复杂:客户端事件和服务器事件之间的控制代码以及部分页面的生命周期关系复杂而微妙,一旦出现错误,很少有程序员能够成功的控制状态找到问题. 3.不完全的代码分离:asp.net web forms 的前后台代码分离将前台展现代码和后台业务逻辑分开很不错,但是

Asp.net web form url route使用总结

asp.net web form 使用URL路由 注不是mvc中的路由 一.前台控件使用路由,通过表达式生成url地址,注意给路由参数赋值,防止使用了其他路由表达式值方式1:<asp:HyperLink ID="hlSupply" NavigateUrl='<%$RouteUrl:routename=TechSupplySearch,areacode=,techfield=%>'                runat="server">技

ASP.NET Web API实践系列01,以ASP.NET Web Form方式寄宿

创建一个空的ASP.NET Web Form项目. 右键项目,添加新项,创建Web API控制器类,TestController. 删除掉TestController默认的内容,编写如下: using System.Web.Http; namespace WebApplication1 { public class TestController : ApiController { [AcceptVerbs("Get")] public string SayHello() { retur

ASP.NET Web Form和MVC中防止F5刷新引起的重复提交问题

转载  http://www.cnblogs.com/hiteddy/archive/2012/03/29/Prevent_Resubmit_When_Refresh_Reload_In_ASP_NET_Web_Form_MVC.html 什么是刷新/重新载入 IE中的刷新(Refresh),在FF和Chrome中称为重新载入(Reload),与正常进入页面的区别在于以下两点: 1. 缓存控制 如果文件(比如图片)在本地缓存中已经存在,正常进入页面会不访问服务器而直接从本地加载.而对于刷新操作,

添加asp.net mvc到现有的asp.net web form 应用程序

前言 asp.net mvc的前一版本为asp.net web Form(Asp.net mvc之前称为asp.net),其第一个版本与2002年年初发布.asp.net web form 属于.net框架的一部分.在接下来的十余年,asp.net web form框架稳步发展,不去越来越多的网站均采用asp.net 框架.几年后,新的web开发框架asp.net mvc 发布.如果想将asp.net mvc添加到现有的asp.net web form 系统中怎么办呢? 正文 如果想避免风险,想

asp.net web form 的缺点

与mvc相比,web form 的缺点: 代码架构麻烦. 以页面或控件为单位,把逻辑放在了一起,代码架构简单.平铺直叙,修改.维护比较麻烦. 不方便单元测试.  功能堆加在了一起,不方便对单个的功能进行测试. Viewstate 性能问题. 重用性 不是很好.相同或类似的代码,不好重用. 对html缺少控制. 不利用 团队开发.前台后台代码放在了一起,多个人对同一文件修改,容易出现同步性.协调性问题.版本控制也会有问题.

web form 服务器控件表单验证

1 <%@ Page Language="C#" AutoEventWireup="true" CodeBehind="ValidationDemo.aspx.cs" Inherits="Validation.ValidationDemo" %> 2 3 <!DOCTYPE html> 4 5 <html xmlns="http://www.w3.org/1999/xhtml"

Asp.Net Web Form 前后台传值

1,后台往前台传值----单个变量 前台代码 <b><%=strCompanyName%>费用明细</b> 后台代码 public partial class MyWebPage: System.Web.UI.Page { public string strCompanyName=""; protected void Page_Load(object sender, EventArgs e) { strCompanyName = "测试公司

Inside of Asp.net web form

http://weblogs.asp.net/infinitiesloop/Truly-Understanding-Viewstate http://aspalliance.com/articleViewer.aspx?aId=134&pId=-1