·您现在的位置: 云翼网络 >> 文章中心 >> 网站建设 >> 网站建设开发 >> ASP.NET网站开发 >> ASP.net 控件实现数据级联
今天我们来一起用ASP.net实现一个级联,这个小不点应该是会经常用到的的。
咱们简单的画两个窗体。文本框会根据下拉框所选的内容显示不同的内容。
具体实现效果如下
步骤一:
准备工作,建立相应的数据库。
显示效果如下
附脚本如下
?1234567891011121314151617181920212223242526 | create database department use department create table TDepartment (
depID int PRimary key,
depName varchar( 30 ) not null ) insert into TDepartment values( 1 , '教务' ) insert into TDepartment values( 2 , '高校' ) insert into TDepartment values( 3 , '办公室' ) create table emp (
empID int primary key,
empName varchar( 30 ) not null ,
depID int foreign key references TDepartment(depID)
) insert into emp values( 1 , '小马' , 1 ) insert into emp values( 2 , '小丹' , 1 ) insert into emp values( 3 , '小妹' , 1 ) insert into emp values( 4 , '马丹妹' , 3 ) |
步骤二:
新建项目为 ASP.ne Web 窗体应用程序。在窗体中画 图中的两个控件。DropDownList 和ListBox,分别命名为 ddlDep 和lBoxEmp。同时将DropDownList中AutoPostBack属性设置为TRUE(目的是让每次重选列表能有响应)。我们需要在formload 和ddlDep_SelectedIndexChanged 时间中编写相应的代码。其中ddlDep_SelectedIndexChanged是选中空间ddlDep在右侧属性-事件中双击时间SelectedIndexChanged
?1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768 | using System; using System.Collections.Generic; using System.Web; using System.Web.UI; using System.Web.UI.WebControls; using System.Data.SqlClient; //数据库 namespace department {
public partial class WebForm1 : System.Web.UI.Page
{
protected System.Web.UI.WebControls.ListBox lBoxEmp;
protected System.Web.UI.WebControls.DropDownList ddlDep;
protected void Page_Load(object sender, EventArgs e)
{
if (! this .IsPostBack)
{
SqlConnection con = DBcon.createConnection();
con.Open();
//显示部门
SqlCommand cmd = new SqlCommand( "select * from TDepartment" , con);
SqlDataReader sdr = cmd.ExecuteReader();
this .ddlDep.DataSource = sdr;
this .ddlDep.DataTextField = "depName" ;
this .ddlDep.DataValueField = "depID" ;
this .ddlDep.DataBind();
sdr.Close();
//显示员工
SqlCommand cmdEmp = new SqlCommand( "select * from emp where depID=" + this .ddlDep.SelectedValue, con);
SqlDataReader sdrEmp = cmdEmp.ExecuteReader(); ;
while (sdrEmp.Read())
{
|