2010-05-21 84 views
2

我正在創建一個產品頁面,其中用戶在radiobuttonlist中選擇一個選項,然後帶有該產品的各種選項的控件出現在佔位符或div中當選擇了單選按鈕時。ASP.NET頁面中的各種asp控件

目前這是代碼:

ASPX:

<form runat="server"> 
<asp:CheckBoxList ID="Lentes" runat="server" OnClick="EscolheLentes"> 
    <asp:ListItem Value="LU"> 
    Lentes Unifocais 
    </asp:ListItem> 
    <asp:ListItem Value="LP"> 
    Lentes Progressivas 
    </asp:ListItem> 
</asp:CheckBoxList> 
<asp:PlaceHolder runat="server" ID="PHLentes"></asp:PlaceHolder> 
</form> 

aspx.vb:

Protected Sub EscolheLentes() 
     Dim ControlLente As Control 
     If (Me.Lentes.Items.FindByValue("LU").Selected) Then 
      ControlLente = LoadControl("LentesUnifocais.ascx") 
     ElseIf (Me.Lentes.Items.FindByValue("LP").Selected) Then 
      ControlLente = LoadControl("LentesProgressivas.ascx") 
     End If 
     Me.PHLentes.Controls.Add(ControlLente) 
    End Sub 

需要使用一些AJAX向右加載控制? 我會朝着正確的方向走嗎?

謝謝。

+0

你不必使用AJAX,你可以做回發。你想使用AJAX嗎? – 2010-05-22 00:05:07

+0

那麼,在這種情況下,我認爲這不是必要的AJAX。只需要簡單的方法來正確顯示所需的一切。 :) – 2010-05-22 00:15:22

回答

2

有幾種方法來實現這一目標:

  • 真ASP.Net Web窗體:做回傳與自動回並與其他控件
  • 的Javascript的可視性播放:加載所有的數據可能與頁面一起顯示,並使用JavaScript處理條件顯示。如果要在一個頁面上顯示的數據量有限,這是唯一合理的。如果你這樣做,你可能想看看JQuery或類似的東西。
  • Ajax:僅異步加載所需的位。您可以使用MSAjax框架或Jquery(或類似的)來執行客戶端代碼。

第一個選項可能是實現速度最快的一個。

+0

謝謝。第一個選項像我想要的那樣工作。 :) – 2010-05-22 16:08:36

1

您是否試過在控件上添加AutoPostBack =「true」和Visible =「true」?

+0

感謝您的幫助。 – 2010-05-22 16:08:00