根据另一个值填充下拉列表的正确方法?

时间:2010-12-21 06:06:49

标签: asp.net drop-down-menu postback

我正在处理一些我正在研究的ASP.Net代码的小问题。为简单起见,我可以说我有两个下拉列表,一个充满各种项目,另一个充满其他项目,但基于第一个下拉列表中的选定项目。我目前将变量设置为隐藏输入以检查第一个下拉列表中的项目是否已更改以及是否必须更改第二个下拉列表,但我还必须检查以确保如果其他内容导致回发不重新填充第二个下拉列表,以便不丢失用户当前选择的内容。这个检查还允许我确保当我离开页面时,选择正确的值而不是由回发重新填充替换。

我是ASP.Net/HTML/CSS/Javascript之类的新手。我知道,虽然我的工作是什么,但它甚至不是正确的做事方式。请帮助我纠正我的方法,找出解决当前问题的最佳方法。一些好的ASP.Net教程网站也会很好,因为我需要不断提高我的技能。

2 个答案:

答案 0 :(得分:1)

答案 1 :(得分:1)

使用选定的索引更改事件尝试autopostback true:

<asp:DropDownList ID="DropDownList1" AutoPostBack="true" OnSelectedIndexChanged="DropDownList1_SelectedIndexChanged" runat="server" />
<asp:DropDownList ID="DropDownList2" runat="server" />

让事件填充第二个下拉列表:

protected void DropDownList1_SelectedIndexChanged(object sender, EventArgs e)
{
}

EDIT 好吧,如果您需要从首页加载填充,您可以执行以下操作,或者更好的是仍然使用从页面加载和选定索引调用的方法更改,这将填充您的下拉列表。

if (!Page.IsPostBack)
{
   DropDownList1_SelectedIndexChanged(DropDownList1, EventArgs.Empty);
}