1

C#代码:

    protected void DropDownListDB_SelectedIndexChanged(object sender, EventArgs e)
    {
        if (DropDownListDB.SelectedValue == "Other")
        {
            LabelIfOtherDb.Visible = true;
            TextBoxIfOtherDb.Visible = true;
        }
    }

ASP 代码:

                <asp:DropDownList AutoPostBack="True" ID="DropDownListDB" runat="server" Height="20px" 
                    Width="158px">
                    <asp:ListItem>- Select -</asp:ListItem>
                    <asp:ListItem>Oracle</asp:ListItem>
                    <asp:ListItem>MS SQL Server</asp:ListItem>
                    <asp:ListItem>MySQL</asp:ListItem>
                    <asp:ListItem>MS Access</asp:ListItem>
                    <asp:ListItem>Other</asp:ListItem>
                </asp:DropDownList>

我有AutoPostBack="True",但它仍然没有显示我隐藏的文本框/标签..有什么建议吗?

4

2 回答 2

4

看来,您的事件未连接到事件处理程序。两种可能性:或者,在标记中定义事件处理程序,例如:

<asp:DropDownList AutoPostBack="True" ID="DropDownListDB" runat="server" Height="20px" SelectedIndexChanged="DropDownListDB_SelectedIndexChanged">

或在代码隐藏中

DropDownListDB.SelectedIndexChanged += DrowpDownListDB_SelectedIndexChanged;

你应该把它放在标记中。

于 2013-03-17T20:42:24.150 回答
0

这部作品对大学作业有同样的问题

    <asp:DropDownList ID="DropDownList1" AutoPostBack="true" 
    runat="server" Height="16px" Width="237px" 
    onselectedindexchanged="DropDownList1_SelectedIndexChanged"/>
于 2013-05-01T21:22:38.727 回答