我试图让我的下拉列表在控件的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>
答案 0 :(得分:2)
将AutoPostback="True"
添加到DropDownList,上面的代码应该触发
至于解释:下拉列表不会自动回发到服务器。更改选择发生在客户端。添加上述内容后,它会重新发布该页面。如果你不希望每次有人更改选择时整个页面都闪烁,你可以使用一些客户端Javascript或Jquery,或使用asp:UpdatePanel
答案 1 :(得分:1)
请设置AutoPostBack =&#34; True&#34; DropdownList的属性......
答案 2 :(得分:0)
在下拉列表中添加 AutoPostBack =“true”
<asp:DropDownList ID="TypeDDL" runat="server" DataSourceID="AssetTypeDS" AutoPostBack="true"
DataTextField="AssetTypeDescription" DataValueField="AssetTypeID" OnTextChanged="AddNewFields">
</asp:DropDownList>