c# - ASP.Net DropDownList SelectedIndexChanged 事件触发但不执行任何操作

标签 c# asp.net updatepanel dropdown selectedindexchanged

我有以下 ASP.Net 代码:

code.aspx:

<asp:UpdatePanel ID="upMain" runat="server">
    <ContentTemplate>
        <table>
          <tr>
            <td>DropDownList One</td>
            <td>
                <asp:DropDownList ID="ddlOne" runat="server" AutoPostBack="true"
                    OnSelectedIndexChange="ddlOne_SelectedIndexChanged" />
            </td>
            <td>DropDownList Two</td>
            <td>
                <asp:DropDownList ID="ddlTwo" runat="server" />
            </td>
          </tr>
        </table>
    </ContentTemplate>
</asp:UpdatePanel>

code.aspx.cs:

protected void Page_Load(object sender, EventArgs e)
{
    if (!IsPostBack)
    {
       ddlTwo.Visible = false;
    }
}

protected void ddlOne_SelectedIndexChanged(object sender, EventArgs e)
{
    ddlTwo.Visible = true;
}

我的期望:

此代码应该使 ddlTwoddlOne 的选定索引更改时可见。

实际发生了什么:

更改 ddlOne 的索引后,ddlOne_SelectedIndexChanged 函数运行(调试测试)并且 ddlTwo.Visible = true; 也运行但是当我逐步执行该过程时 和 属性发生了变化,但是当函数结束并且我想查看我的结果(即可见的 ddlTwo 控件)时,没有结果。

如果有人能发现问题,请告诉我。 谢谢!

最佳答案

尝试

<Triggers>
    <asp:AsyncPostBackTrigger ControlID="ddlOne" 
    EventName="SelectedIndexChanged" />
</Triggers>

内部更新面板。

关于c# - ASP.Net DropDownList SelectedIndexChanged 事件触发但不执行任何操作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39789183/

相关文章:

c# - 在每个页面回发时弹出 jQuery 对话框

c# - Razor 条件格式

c# - WPF:绑定(bind)到 ICommand 的 TreeViewItem

c# - 返回旧 Web 方法的 ASMX 页面

c# - 如何在没有母版页的情况下在 asp.net 中打印页面并更改页面的配色方案?

javascript - 如何控制在 UpdatePanel 部分回发 endRequest 之后运行哪些 JavaScript?

asp.net - 如果在下拉列表中选择特定值,则防止回发

c# - 为什么 C# 不允许将 typeof 作为默认参数?

c# - 序列化 api 数据时出错 : cannot be serialized to JSON because its IsReference setting is 'True'

asp.net - 如何在运行时修改 web.config appSettings?