2010-05-21 6 views
2

Je crée une page de produits, où l'utilisateur sélectionne une option dans une radiobuttonlist par exemple, puis un contrôle avec les différentes options de ce produit apparaît dans un espace réservé ou dans un div lorsque l'un des boutons radio est sélectionné.Divers contrôles ASP dans une page ASP.NET

Au moment où c'est le code:

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 

besoin d'utiliser certains ajax pour charger le contrôle à droite? Suis-je dans la bonne direction?

Merci.

+0

Vous ne devez pas utiliser AJAX, vous pouvez faire une publication. Voulez-vous utiliser AJAX? –

+0

Eh bien, dans ce cas, je pense que ce n'est pas nécessaire AJAX. Je veux juste le moyen facile de montrer correctement tout ce qui est nécessaire. :) –

Répondre

2

Il existe plusieurs moyens d'y parvenir:

  • Vrai ASP.Net Web forme: Est-ce postbacks avec autopostback et jouer avec la visibilité des autres contrôles
  • Javascript: Charge toutes les données éventuellement affichées avec la page et gérer l'affichage conditionnel avec javascript. Cela n'est raisonnable que si la quantité de données à afficher sur une page est quelque peu limitée. Vous pouvez regarder dans JQuery ou quelque chose de similaire si vous allez de cette façon.
  • Ajax: charge de manière asynchrone uniquement les bits dont vous avez besoin. Vous pouvez utiliser le framework MSAjax, ou Jquery (ou similaire) pour faire le code côté client.

La première option est probablement la plus rapide à implémenter.

+0

Merci. La première option fonctionne comme je veux. :) –

1

Avez-vous essayé d'ajouter AutoPostBack = "true" et Visible = "true" sur votre contrôle?

+0

Merci pour votre aide. –

Questions connexes