我有以下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;
}


我的期望:

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

实际发生的情况:

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

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

最佳答案

更改此行

OnSelectedIndexChange="ddlOne_SelectedIndexChanged"




OnSelectedIndexChanged="ddlOne_SelectedIndexChanged"


它应该工作。

10-06 09:39