2011-12-21 104 views
2

我目前有一个下拉列表正在填充来自数据库的值。我需要在下拉列表中添加一个附加值,以允许用户添加其他值。这个新值将是“添加联系人”,并且如果选择将使用户进入新页面。这是可能做到的,我该如何去做呢?将值添加到将触发事件的下拉列表中

+1

你的标题和质疑的身体没有多大意义在一起。 – jadarnel27 2011-12-21 14:55:25

回答

1
<asp:DropDownList ID="DrpDwnLstRecords" runat="server" AutoPostBack="True" OnSelectedIndexChanged="DrpDwnLstRecords_SelectedIndexChanged"/> 

private void FillDrpDwnLstRecords() 
{ 
DrpDwnLstRecords.Items.Clear(); 
ListItem listItem = new ListItem("Add Contact","addContact"); 
//fill the dropdown from database here 

} 

protected void DrpDwnLstRecords_SelectedIndexChanged(..,..) 
{ 
string selectedRecordValue = DrpDwnLstRecords.SelectValue; 
if(selectedRecordValue == "addContact") 
{ 
    //go to new page 
} 
} 

如需更多帮助,DropDownLists并打开新的一页

a SO answer

DropDownList Web Server Control Declarative Syntax

DropDownList Class

How to add listitem in dropdownlist using C# behind code.

DropDownList in ASP .Net

HOW TO: Add a default ListItem to a DropDownList

Opening a New Window - How to open a new window with JavaScript

+0

感谢您的信息@OkayGuy。我使用了两种答案的组合。 – Craig 2011-12-21 20:02:01

+0

@克雷格好运克雷格,社区总是来这里帮忙。 – Bastardo 2011-12-21 22:39:53

4

您可以添加“添加联系人...”作为普通文本并在下拉菜单的SelectedIndexChanged事件中(不记得事件的确切名称),检查所选值是否为“添加联系人”,调用AddContact()方法。

+2

+1你的名字是正确的。 @Craig注意到你需要在DropDownList上使用'AutoPostback = true',以便它正常工作。 – jadarnel27 2011-12-21 15:10:59

+0

从数据库填充ddl后添加“添加联系人”。使用:' ddl.Items.Add(New ListItem(“Add Contact”,“itemvalue”))或者' ddl.Items.Insert(x,New ListItem(“Add Contact”,“itemvalue”))'x是一个基于0的int,用于指定ddl中的项目索引。 – 2011-12-21 15:15:40

+0

谢谢jadarnel27的确认:) – 2011-12-21 15:39:14

相关问题