Osaisiko joku auttaa seuraavanlaisessa ongelmassa?
Olen tehnyt masterpagen puolella valikon tyylillä
Dim s As New ListItem("testi", "testisivu.aspx") mainMenu.Items.Add(s)
Tässä kohtaa tarkistelen mitä valikon kohtaa käyttäjä painaa.
Protected Sub mainMenu_Click(ByVal sender As Object, _ ByVal e As System.Web.UI.WebControls.BulletedListEventArgs) _ Handles mainMenu.Click Dim position As Integer = e.Index For i As Integer = 0 To mainMenu.Items.Count - 1 If i = e.Index Then mainMenu.Items(i).Attributes.Add("class", "on") Else mainMenu.Items(i).Attributes.Remove("class") End If
Ongelma on kun ohjelma käännetään niin käyttäjä ei ole vielä painanut mitään valikon kohtaa joten tuo tyylimuotoilun tarkistus ei mene läpi?
Toinen ongelma on kun käyttäjä vaikkapa hakee jotain tietoja sivulta niin sivu latautuu uudestaan ja tyylitieto ei pysy enää muistissa? Voisikohan joku fiksumpi auttaa?
Heippa ezku!
Voisit vaikka kokeilla jotain seuraavanlaista...
Sub Page_Load(sender As Object, e As EventArgs) If Not Page.isPostBack Then Dim item As ListItem = mainMenu.Items(0) SetAttributeBySelection(item) item = Nothing End If End Sub Protected Sub mainMenu_Click( _ sender As Object, e As BulletedListEventArgs) SetAttributeBySelection(sender.Items(e.Index)) End Sub Protected Sub SetAttributeBySelection(ByVal s_item As Object) Dim item As ListItem For Each item In mainMenu.Items If s_item.ToString = item.ToString Then item.Selected = True item.Attributes.Add("class", "on") Else item.Selected = False item.Attributes.Remove("class") End If Next item = Nothing End Sub
Aihe on jo aika vanha, joten et voi enää vastata siihen.