我使用这个简单的代码将数据库绑定到下拉列表:
DropDownList ddlWorkArea = new DropDownList();
ddlWorkArea.ID = "ddlWorkArea" + rownum.ToString();
ddlWorkArea.DataSource = WorkArea;
ddlWorkArea.DataTextField = "WorkArea";
ddlWorkArea.DataValueField = "WorkCode";
ddlWorkArea.AutoPostBack = true;
ddlWorkArea.SelectedIndexChanged += new EventHandler(ddlWorkArea_SelectedIndexChanged);
ddlWorkArea.DataBind();
背后的数据表非常简单,看起来与
类似WorkArea WorkCode
--------------------------------
Please Select
Cargo Logistic 36170
Ops 24100
Depot 23170
Shipside 24100
正如您所看到的," Shipside"和" Ops"拥有相同的WorkCode。我注意到,在SelectedIndexChanged事件之后,下拉列表的显示文本从" Shipside"更改为" Shipside"到" Ops" - 据我所知,因为服务器这两个字段是相同的...不幸的是用户不是这样(在我的网页中我需要存储WorkArea和WorkCode)
我知道我可以将WorkAre用作数据和文本字段,然后查询数据库以获取WorkCode,但对于这么简单的事情听起来非常复杂,我可以将重复的代码更改为类似24100x
的内容然后修剪x
,但这似乎非常不优雅......
有没有更简单的解决方案?