我必须在我的下拉列表中重视。
<asp:DropDownList ID="DropDownList2" runat="server">
<asp:ListItem>Select</asp:ListItem>
<asp:ListItem>Individual Form</asp:ListItem>
<asp:ListItem>Entity Form</asp:ListItem>
</asp:DropDownList>
单个表单和实体表单是两个具有文本框和下拉列表的Web表单。首次启动页面或调试时,我希望显示此下拉列表,当用户选择个人或实体时,文本框和Web表单的内容应加载到下面。这怎么可能?
答案 0 :(得分:0)
将内容置于ASP:Panel中,Visible设置为false。然后设置下拉列表以执行Autopostback = true并订阅所选列表项已更改事件
在该事件中,将面板设置为visible = true。
如果您需要ajax支持,请将所有内容放在ASP:UpdatePanel中。
或者,您可以使用Javascript并向控件/页面添加IPostBackEventHandler接口,并使用__DoPostBack(ctrlId,'somekey')进行回发,然后在IPostBackEventHandler上的PostBack事件中将面板设置为Visible = true。 / p>
您也可以使用css隐藏它并使用javascripot将其打开,但这将是超级的,用户可以使用网络工具自行打开它,例如破解它。
答案 1 :(得分:0)
您可以使用DropDownList的OnSelectedIndexChanged
事件。
<asp:DropDownList ID="DropDownList2" runat="server" Autopostback=true OnSelectedIndexChanged="DropDownList2_IndexChanged">
<asp:ListItem Value="0">Select</asp:ListItem>
<asp:ListItem Value="1">Individual Form</asp:ListItem>
<asp:ListItem Value="2">Entity Form</asp:ListItem>
</asp:DropDownList>
为您的用户界面选择两个不同的面板。
<asp:Panel runat="server" ID="Panel1">
... Your content here
</asp:Panel>
<asp:Panel runat="server" ID="Panel2">
... Your other content here
</asp:Panel>
Now in code behind write OnSelectedIndexChanged event
protected void DropDownList2_IndexChanged(object sender,EventArgs e)
{
//Now check value of dropdown list and show or hide panel according to it.
if(DropDownList2.SelectedValue=="1")
{
Panel1.Visible=true;
Panel2.Visible=false;
}
else if(DropDownList2.SelectedValue=="2")
{
Panel1.Visible=false;
Panel2.Visible=true;
}
}