下拉列表所选索引更改,在更新面板中不起作用
本文关键字:更新 不起作用 索引 下拉列表 | 更新日期: 2023-09-27 18:12:42
我在UpdatePanel_2中有一个下拉列表,它在UpdatePanel_1中点击Button_1时填充。
我的ddlist标记是
<asp:DropDownList id="drop1" runat="server" EnableViewState="true" AutoPostBack="true" OnSelectedIndexChanged="Drop1_SelectedIndexChanged" />
后面的代码是
protected void Drop1_SelectedIndexChanged(object sender, EventArgs e)
{ }
我也试着把AutoPostback=true放到我的下拉列表中,仍然没有成功。
我还添加了触发器来更新面板2,但没有增益,
<Triggers>
<asp:AsyncPostbackTrigger ControlID="drop1" EventName="SelectedIndexChanged" />
</Triggers>
我正在使用按钮填充下拉列表,而不是页面加载方法,请在回答之前阅读。由于
检查Page_Load
事件中填充DropDownList
的数据,并始终检查IspostBack
:
if(!IsPostBack)
{
//DropDownList configuration
}
使用EnableViewState
:
<asp:DropDownList ID="ddlAddDepPlans" runat="server" AutoPostBack="true" EnableViewState="true" />
希望对你有帮助。
我也有同样的问题。我的问题是我的listtitems的值都是一样的:D
<asp:DropDownList ID="ddlFilterLogins" runat="server" Visible="true" AutoPostBack="true">
<asp:ListItem Value="0" Text="All"></asp:ListItem>
<asp:ListItem Value="0" Text="Some"></asp:ListItem>
<asp:ListItem Value="0" Text="Some more"></asp:ListItem>
</asp:DropDownList>
应该是这样的:
<asp:DropDownList ID="ddlFilterLogins" runat="server" Visible="true" AutoPostBack="true">
<asp:ListItem Value="0" Text="All"></asp:ListItem>
<asp:ListItem Value="1" Text="Some"></asp:ListItem>
<asp:ListItem Value="2" Text="Some more"></asp:ListItem>
</asp:DropDownList>
希望这对你有帮助。有时这可能很难找到:)
请在Page_Load()中初始化它时检查是否没有回发。如果你不这样做,你将总是设置默认值,这将取代在事件中设置的值。
if(!IsPostBack)
{
//DropDownList configuration
}
您可以使用Init event代替SelectIndexChanged。这对我来说很好。希望你明白我的意思。
这对我来说也是一个复杂的问题。最后,这是因为下拉列表中相同的列表如下所示。在开发过程中,您可能只是为了测试而使用相同的项目。改变他们。
<asp:ListItem>Business</asp:ListItem>
<asp:ListItem>Business</asp:ListItem>
<asp:ListItem>Business</asp:ListItem>
<asp:ListItem>Business</asp:ListItem>