Hej Alla, Micke, Testa detta: en annan grej är att med ServerVariables("SCRIPT_NAME") får du med hela sökvägen från wwwroot + filnamn. Neej! Inga hårdkodade sökvägar o trams.. Inne i din menykontroll så måste du någonstanns ta ett beslut om vilket alternativ användaren har tryckt på och utifrån det ladda upp rätt sida ? Spara då undan ett värde som kommer igår vilken man senast tryckt på.. detta gör du i din <b>Session</b>... läs mer om Session och hur du arbetar med den i dokumentationen Jag får inte er funktion med Select Case att funka, jag har det i en UC som jag inkluderar på de sidorna. Jag tror det är namnrymderna som jag inte har, vilka kan man tänkas använda till detta? System.IO, något mer?går detta?
Jag letar efter en funktion som kollar ifall man är inne på en fil. exempel:
Ifall man är inne på sida1.aspx så blir det en händelse, Ifall man är inne på sida2.aspx så blir det en händelse osv.
Förklaring i kod som inte funkar (givetvis).
<code>
If sida1.aspx then
' händelse
elseif sida2.aspx then
' händelse
end if
</code>
Jag har liksom tänkt att använda en meny i en user control som jag inkluderar på mina sidor. Då ska det hända nått med just den rubriken i menyn ifall man är inne på det valda meny alternativet.
Jag vet att man kan lösa det genom Querystring(), och ha en Default.aspx och göra alla sidor i user controls typ: default.aspx?p=sidan , men det vill jag skippa den här gången och köra default.aspx, sida2.aspx osv...
Hoppas ni förstod hur jag menar, är väldigt dålig på att förklara hur jag menar tyvärr =(
// Micke ÅhlénSv: går detta?
Om det är inne i meny kontrollen som du vill att det skall hända olika saker beroende på vilken sida man är inne på så tänker du nog lite längre än vad du behöver. Eftersom (jag antar att det är så av förklarliga skäl) det är din meny kontroll som navigerar till de olika sidorna så kan du inne i den kontrollen spara undan vilkent menyval som man senast klickade på och använda den informationen ?Sv: går detta?
<code>
Dim WebPage As String = System.Web.HttpContext.Current.Request.ServerVariables("SCRIPT_NAME")
Select Case LCase(WebPage)
Case "sida1.aspx"
'Händelse 1
Case "sida2.aspx"
'Händelse 2
End Select
</code>
Det är viktigt att du kör LCase på på den variabeln, eftersom det verkar som om .NET sätter stor bokstav först på ServerVariables("SCRIPT_NAME")Sv: går detta?
Ligger filen direkt i root så får du fram /filensnamn.aspx och ligger den i en annan mapp, blir det: /mappnamn/filensnamn.aspx
Således bör Select Case valen ändras + att det alltir är bra med att ha ngt default:
<code>
Dim WebPage As String = System.Web.HttpContext.Current.Request.ServerVariables("SCRIPT_NAME")
Select Case LCase(WebPage)
Case "/sida1.aspx"
'Händelse 1
Case "/sida2.aspx"
'Händelse 2
Case Else
'Default Händelse
End Select
</code>
cya,
/PatrikBSv: går detta?
Sv: går detta?
Det visas alltid Else alternativet, vad kan jag ha gjort fel?
kod snutt...
<code>
....
Case "/menu/WebForm1.aspx"
Label1.Text = "Webform1"
Case Else
Label1.Text = "...?!"
End Select
</code>Sv: går detta?