2010-12-09 17 views
0

我有點新的網絡編程,
我想設計一個搜索頁面。 我想創建幾個單選按鈕,其中每個單選按鈕將顯示一個div 包含相關的搜索div。 並從那裏做查詢到數據庫(不相關的帖子)在ASP.Net | Ajax |中創建多個隱藏的Div JQuery

我該怎麼做? 試圖尋找它,並沒有得到很好的答案。 我希望頁面的變化將在服務器端,而不是在客戶端。 p.s. 我一直在與阿賈克斯控制工具包迄今..

感謝您的幫助。

回答

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); 
+0

我試着照你說的,但它沒有工作,我插入了「mvall.setactive ..」到保護無效RadioButton1_CheckedChanged(對象發件人,EventArgs的) – RonenIL 2010-12-09 16:45:34

+0

你設置無線的AutoPostBack屬性按鈕爲真? – 2010-12-09 16:48:55

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'); 
}