在ASP.Net中创建多个隐藏的Div | Ajax | JQuery的

时间:2010-12-09 16:19:13

标签: asp.net html ajaxcontroltoolkit

我是网络编程的新手,
我正在尝试设计一个搜索页面。 我想创建几个单选按钮,每次单击单选按钮将显示一个div 包含相关的搜索div。 并从那里对数据库进行查询(与帖子无关)

我该怎么做? 试图搜索它,并没有得到很好的答案。 我希望页面的更改将在服务器端而不是客户端。 附: 到目前为止,我一直在使用ajax控制套件。

感谢您的帮助。

2 个答案:

答案 0 :(得分:0)

您只需要一个UpdatePanel,单选按钮和一个MultiView控件。

<asp:UpdatePanel ID="UpdatePanel1" runat="server">
<ContentTemplate>
<div>
<asp:RadioButton ...
<asp:RadioButton ...
</div>
<asp:MultiView ID="mvAll" runat="server" ActiveViewIndex="-1">
<asp:View ID="vwFirst" runat="server">
</asp:View>
<asp:View ID="vwSecond" runat="server">
</asp:View>
...
</asp:MultiView>
</ContentTemplate>
</asp:UpdatePanel>

当所选单选按钮更改时,您只需将相关视图设置为活动

mvAll.SetActiveView(ViewIDYouNeed);

答案 1 :(得分:0)

您可以使用面板和更新面板完成此操作。

<asp:RadioButton ID="rdo1" AutoPostBack="true" GroupName="radios" runat="server" OnCheckedChanged="ShowDivs" />
<asp:RadioButton ID="rdo2" AutoPostBack="true" GroupName="radio2" runat="server" OnCheckedChanged="ShowDivs" />

<asp:UpdatePanel runat="server" UpdateMode="Conditional">
<ContentTemplate>
    <asp:Panel ID="pnl1" runat="server" Visible="false"></asp:Panel>
    <asp:Panel ID="pnl2" runat="server" Visible="false"></asp:Panel>
</ContentTemplate>
<Triggers>
    <asp:AsyncPostBackTrigger ControlID="rdo1" />
    <asp:AsyncPostBackTrigger ControlID="rdo2" />
</Triggers>
</asp:UpdatePanel>

然后,您将在后面的代码中处理ShowDivs方法中面板的Visible属性。

或者,您可以使用jquery / javascript来完成此任务。

<input type="radio" onClick="ShowDiv(1)" />

function ShowDiv(id) {
 HideDivs();
 $(id).show('slow');
}