下拉列表所选索引更改,在更新面板中不起作用

本文关键字:更新 不起作用 索引 下拉列表 | 更新日期: 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>