Goedemiddag,
We gebruiken hier voor een aantal pagina's op onze ASP.Net 1.1 website de tabstrip van de Microsoft Internet Explorer WebControls (http://msdn.microsoft.com...ols/overview/tabstrip.asp).
Deze is in een usercontrol gebakken en wordt op een aantal pagina's aangeroepen. De pagina's hebben een verschillende hoeveelheid tabs. Bij het aanroepen van de control op de pagina wordt een "type" attribuut meegegeven waarmee vervolgens bepaald wordt in een "case" statement welke tabs de pagina moet hebben / de control moet weergeven.
Op de ontwikkel omgeving draait dit vlekkeloos.
Maar nu zijn we over naar productie en steken de problemen de kop op: Het "tabbed-browsing" vertoont onvoorspelbaar gedrag. Het kan zo maar zijn dat je op tab 3 klikt, maar op tab 5 terecht komt.
Kan dit te maken hebben met gedeelde waarden van een variabele? Dat zou dan moeten liggen aan
denk ik. Protected maken verhelpt het probleem niet. Iemand enige idee?
We gebruiken hier voor een aantal pagina's op onze ASP.Net 1.1 website de tabstrip van de Microsoft Internet Explorer WebControls (http://msdn.microsoft.com...ols/overview/tabstrip.asp).
Deze is in een usercontrol gebakken en wordt op een aantal pagina's aangeroepen. De pagina's hebben een verschillende hoeveelheid tabs. Bij het aanroepen van de control op de pagina wordt een "type" attribuut meegegeven waarmee vervolgens bepaald wordt in een "case" statement welke tabs de pagina moet hebben / de control moet weergeven.
C#:
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
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
| <script language="C#" runat="server"> /// Private vars private static int _amountOfTabs; private static int[] _activePanels; /// Page_Load private void Page_Load(object sender, System.EventArgs e) // Get the type String type = this.Attributes["type"]; if (!Page.IsPostBack) { // Determine which type it is switch (type.ToString()) { case Type1: // Add tabs tabStrip.Items.Clear(); tabStrip.Items.Add(1); tabStrip.Items.Add(2); tabStrip.Items.Add(5); _amountOfTabs = 3; _activePanels = new int[3] { 2, 3, 6 }; break; case Type2: // Add tabs tabStrip.Items.Clear(); tabStrip.Items.Add(3); tabStrip.Items.Add(4); tabStrip.Items.Add(5); _amountOfTabs = 3; _activePanels = new int[3] { 4, 5, 6 }; break; default: lblError.Visible = true; lblError.Text = "Onbekend type: " + type.ToString(); break; } //Activate the selected panel panelChange(); } private void panelChange() { // Loop through all tabs for (int i = 0; i < _amountOfTabs; i++) { // Cast panel Panel activePanel = (Panel)FindControl("pnl" + _activePanels[i].ToString()); // If this is the selected panel if (tabStrip.SelectedIndex == i) { //Make the panel visible activePanel.Visible = true; } else { activePanel.Visible = false; } } |
Op de ontwikkel omgeving draait dit vlekkeloos.
Maar nu zijn we over naar productie en steken de problemen de kop op: Het "tabbed-browsing" vertoont onvoorspelbaar gedrag. Het kan zo maar zijn dat je op tab 3 klikt, maar op tab 5 terecht komt.
Kan dit te maken hebben met gedeelde waarden van een variabele? Dat zou dan moeten liggen aan
C#:
1
| private static int[] _activePanels; |
denk ik. Protected maken verhelpt het probleem niet. Iemand enige idee?