0

我试图让我的下拉列表在控件的 selectedindexchanged 事件上显示四个控件。

基本上,当用户从下拉列表中选择“服务器”时,该事件应该触发并且用户应该看到两个额外的选项。

到目前为止尝试了很多方法,包括 text_changed 事件,但没有。

这是我到目前为止得到的

    //adds new fields to the form when the user selects server as the asset type
    protected void AddNewFields(object sender, EventArgs e)
    {
        //If the asset is a server then make the extra controls available
        if (TypeDDL.Text.Equals("Server"))
        {
            DNLabel.Visible.Equals(true);
            //DNLabel.Visible = true;
            DomainNameTB.Visible = true;
            RoleLabel.Visible = true;
            RoleDDL.Visible = true;
        }
    }


            <asp:DropDownList ID="TypeDDL" runat="server" DataSourceID="AssetTypeDS" 
                DataTextField="AssetTypeDescription" DataValueField="AssetTypeID" OnTextChanged="AddNewFields">
            </asp:DropDownList>
4

3 回答 3

2

添加AutoPostback="True"到您的 DropDownList 和上面的代码应该触发

至于解释:下拉列表不会自动回发到服务器。更改选择发生在客户端。添加以上内容后,它将重新发布页面。如果您不希望每次有人更改选择时整个页面都闪烁,您可以使用一些客户端 Javascript 或 Jquery,或者使用 asp:UpdatePanel

于 2013-06-26T09:00:13.787 回答
1

请设置下拉列表的 AutoPostBack="True" 属性...

于 2013-06-26T09:01:19.150 回答
0

在下拉列表中添加AutoPostBack="true"

<asp:DropDownList ID="TypeDDL" runat="server" DataSourceID="AssetTypeDS"  AutoPostBack="true"
                DataTextField="AssetTypeDescription" DataValueField="AssetTypeID" OnTextChanged="AddNewFields">
            </asp:DropDownList>
于 2013-06-26T09:15:20.770 回答