Bonjour !
Voilà mon projet :
Je souhaite créer une page avec des onglets qui sont créés dynamiquement.
Dans l'idéal, je veux m'appuyer sur une liste d'éléments stockés dans une base de données, et pour chacun de ses éléments, créer un onglet. Comme la liste d'éléments va varier, mes onglets seront toujours à jours.
Pour le moment, j'essaye juste de faire un test en créant 2 onglets bidons histoire de ma familiariser avec les Multiview.
Voici déjà à quoi ressemble mon code :
- Page ascx :
- Code :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7 <asp:Menu ID="Menu" runat="server" Orientation="Horizontal" CssClass="tabs"> </asp:Menu> <asp:MultiView ID="MultiTabs" runat="server"> </asp:MultiView>
Je vois bien apparaître mes 2 onglets, mais dès que je clic dessus, j'ai cette erreur (sur l'index dans Menu_MenuItemClick) :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31 Sub Page_PreInit(ByVal sender As Object, ByVal e As EventArgs) Handles Me.Init If Not Page.IsPostBack Then Dim ViewTest As MenuItem = New MenuItem() ViewTest.Value = "0" ViewTest.Text = "Nouvel Onglet" Menu.Items.Add(ViewTest) Dim myViewTest As View = New View() MultiTabs.Views.Add(myViewTest) Dim ViewTest2 As MenuItem = New MenuItem() ViewTest2.Value = "1" ViewTest2.Text = "Nouvel Onglet2" Menu.Items.Add(ViewTest2) Dim myViewTest2 As View = New View() MultiTabs.Views.Add(myViewTest2) End If End Sub Protected Sub Page_Load(ByVal sender As Object, ByVal e As EventArgs) Handles Me.Load End Sub Protected Sub Menu_MenuItemClick(ByVal sender As Object, ByVal e As System.Web.UI.WebControls.MenuEventArgs) Handles Menu.MenuItemClick Dim index As Integer = Int32.Parse(e.Item.Value) MultiTabs.ActiveViewIndex = index End Sub
"ActiveViewIndex est défini à '0'. Il doit être inférieur au nombre actuel de contrôles View '0'. Dans le cadre des vues ajoutées de manière dynamique, assurez-vous qu'elles sont ajoutées avant ou à l'intérieur de l'événement Page_PreInit.
Nom du paramètre : value"
Que je créé mes onglets dans le Page_Load ou dans le Page_(Pre)Init, cela ne change rien. Je n'arrive pas à modifier le nombre de contrôles View qui reste à 0.
Je travaille sous Visual Studio 10.
Si vous avez une idée, je suis preneur !
Merci
Partager