C# 基于用户输入填充/刷新下拉列表
我正在开发一个asp.net应用程序。我有一个客户账号的下拉列表。当我在文本框中输入客户id卡号并单击搜索按钮时,下拉列表中应填充以前针对该id卡号提供的所有账号。它工作正常,但当我添加新的身份证号码并单击“搜索”时,下拉列表仍保留以前客户的帐号。我希望每次单击“搜索”时下拉列表为空并重新填充,值为1的项(即其他项)应保持不变,列表的其余部分将动态更改C# 基于用户输入填充/刷新下拉列表,c#,asp.net,drop-down-menu,C#,Asp.net,Drop Down Menu,我正在开发一个asp.net应用程序。我有一个客户账号的下拉列表。当我在文本框中输入客户id卡号并单击搜索按钮时,下拉列表中应填充以前针对该id卡号提供的所有账号。它工作正常,但当我添加新的身份证号码并单击“搜索”时,下拉列表仍保留以前客户的帐号。我希望每次单击“搜索”时下拉列表为空并重新填充,值为1的项(即其他项)应保持不变,列表的其余部分将动态更改 受保护的无效搜索\u单击(对象发送者,事件参数e) { ddl_accno.Items.Clear(); ddl_ackno.Items.Ad
受保护的无效搜索\u单击(对象发送者,事件参数e)
{
ddl_accno.Items.Clear();
ddl_ackno.Items.Add(新列表项(“其他”,“0”));
字符串cnic=txt_cnic.Text;
BindControls.ControlBinder.BindDropDown(ddl_账号,UL.GetAccountNo(cnic),“账号”,“账号”);
}
帐号。
粘贴示例代码:
设计:
<asp:DropDownList ID="AssignedToDropDownList" runat="server" DataSourceID="UserLinqDataSource"
DataTextField="UserName" DataValueField="UserId" AppendDataBoundItems="true"
SelectedValue='<%# Bind("AssignedTo") %>'>
</asp:DropDownList>
最后是否缺少ddl.databind()?我已经在使用BindControl.ControlBinder而不是databind()。请尝试使用此方法并检查它是否有效??还有一件事需要绑定页面_load()上的下拉列表。如果是,则在下一个后续事件中填充下拉列表,它将再次从零开始加载下拉列表。为了避免这种情况,请在每次回发(不是建议的解决方案)时填写下拉列表,或者在DDL和发送事件的控件上使用更新面板。希望你能理解
protected void Page_Load(object sender, EventArgs e)
{
DDLDataBind();
}
private void DDLDataBind()
{
AssignedToDropDownList.Items.Clear();
AssignedToDropDownList.Items.Add(new ListItem("--did not assign--", "0"));
AssignedToDropDownList.DataBind();
}