ASP.NET 实现下拉框二级联动组件 namespace WebApplicationDlh using System.Drawing; using System.Web; using System.Web.UI.WebControls; using System.Web.UI.HtmlControls; using Db; / <summary> / Area 的摘要说明 / </summary> public class Area : System.Web.UI.UserControl protected System.Web.UI.WebControls.DropDownList ddlprovince; protected System.Web.UI.WebControls.DropDownList ddlcity; public string strprovince get return ddlprovince.selecteditem.value; set ddlprovince.selecteditem.value = value; public string strcity get return ddlcity.selecteditem.value; set ddlcity.selecteditem.value = value; private void Page_Load(object sender, System.EventArgs e) if(!ispostback) ddlprovincebind(); ddlcity.items.insert(0,"- 请选择城市 -"); private void ddlprovincebind() Db.Area myarea = new Db.Area(); SqlDataReader dr = myarea.getallprovince(); if(dr.read()) page 1 / 5
ddlprovince.datasource = dr; ddlprovince.datatextfield = "Province"; ddlprovince.datavaluefield = "Province"; ddlprovince.databind(); ddlprovince.items.insert(0,"- 请选择省份 -"); #region Web 窗体设计器生成的代码 override protected void OnInit(EventArgs e) CODEGEN: 该调用是 ASP.NET Web 窗体设计器所必需的 InitializeComponent(); base.oninit(e); / <summary> / 设计器支持所需的方法 - 不要使用代码编辑器 / 修改此方法的内容 / </summary> private void InitializeComponent() this.ddlprovince.selectedindexchanged += new System.EventHandler(this.ddlProvince_SelectedIndexChanged); this.load += new System.EventHandler(this.Page_Load); #endregion private void ddlprovince_selectedindexchanged(object sender, System.EventArgs e) if(ddlprovince.selecteditem.value == "- 请选择省份 -") ddlcity.items.clear(); ddlcity.items.insert(ddlprovince.selectedindex,"- 请选择城市 -"); else Db.Area myarea = new Db.Area(); SqlDataReader dr = myarea.getallcitywhereprovince(ddlprovince.selecteditem.value); if(dr.read()) ddlcity.datasource = dr; ddlcity.datatextfield = "City"; ddlcity.datavaluefield = "ID"; ddlcity.databind(); ============================================================= page 2 / 5
using System.Configuration; namespace Db / <summary> / Area 的摘要说明 / </summary> public class Area:Base public Area() TODO: 在此处添加构造函数逻辑 public SqlDataReader GetAllProvince() strsp = "Sp_Area_SelectAll"; drselectall(strsp); public SqlDataReader GetAllCityWhereProvince(string a) conn = new SqlConnection(ConfigurationSettings.AppSettings["dsn"]); cmd = new SqlCommand("Sp_Area_SelectAllWhereProvince",conn); cmd.commandtype = CommandType.StoredProcedure; cmd.parameters.add("@province",sqldbtype.varchar,50).value = a.tostring(); conn.open(); dr = cmd.executereader(commandbehavior.closeconnection); ===================================================== if exists (select * from dbo.sysobjects where id = object_id(n [dbo].[sp_area_selectall] ) and OBJECTPROPERTY(id, N IsProcedure ) = 1) drop procedure [dbo].[sp_area_selectall] if exists (select * from dbo.sysobjects where id = object_id(n [dbo].[sp_area_selectallwhereprovince] ) and OBJECTPROPERTY(id, N IsProcedure ) = 1) drop procedure [dbo].[sp_area_selectallwhereprovince] if exists (select * from dbo.sysobjects where id = object_id(n [dbo].[area] ) and OBJECTPROPERTY(id, N IsUserTable ) = 1) drop table [dbo].[area] CREATE TABLE [dbo].[area] ( [ID] [int] NOT NULL, page 3 / 5
[Province] [varchar] (50) COLLATE Chinese_PRC_CI_AS NULL, [City] [varchar] (50) COLLATE Chinese_PRC_CI_AS NULL, [ 其它 ] [varchar] (50) COLLATE Chinese_PRC_CI_AS NULL ) ON [PRIMARY] SET QUOTED_IDENTIFIER ON CREATE PROCEDURE Sp_Area_SelectAll AS SELECT DISTINCT Province FROM Area ORDER BY Province RETURN SET QUOTED_IDENTIFIER OFF SET QUOTED_IDENTIFIER ON CREATE PROCEDURE Sp_Area_SelectAllWhereProvince @Province varchar(50) AS SELECT Area.* FROM Area WHERE (Province = @Province) RETURN SET QUOTED_IDENTIFIER OFF ================================================ using System.Configuration; namespace Db / <summary> / Base 的摘要说明 / </summary> public class Base public Base() page 4 / 5
Powered by TCPDF (www.tcpdf.org) 欢迎访问悠久互联官方网站!www.youjoys.com TODO: 在此处添加构造函数逻辑 protected string con = ConfigurationSettings.AppSettings["dsn"]; protected SqlConnection conn; protected SqlCommand cmd; protected SqlDataReader dr; protected string strsp; protected SqlDataReader drselectall(string strsp) conn = new SqlConnection(con); cmd = new SqlCommand(strSp,conn); cmd.commandtype = CommandType.StoredProcedure; conn.open(); dr = cmd.executereader(commandbehavior.closeconnection); 返回一个 SqlDataReader 悠久是专业的深圳平面设计公司 深圳网站建设公司 深圳微信营销公司 深圳 VI 设计公司 深圳包装设计公司 提供网站建设 域名空间 企业邮箱 微信营销推广 画册设计 包装设计 VI 设计 标志设计等服务 本文地址 : http:www.youjoys.com/article/biancheng/net/20110608/3877.html page 5 / 5