Avatar billede arriva Nybegynder
25. marts 2006 - 16:09 Der er 2 kommentarer og
1 løsning

Postback og linkbutton

Hej folkens,

jeg har et problem med en linkbutton på min side. Idéen er at bruge den til at skifte sproget på siden. Jeg bruger ikke metoden med at have tekst i resx filer, da 95% af siden genereres udfra database.

Jeg har i en usercontrol kaldet "Header" en link button a la:
<asp:LinkButton runat="server" ID="chgLanguage" Text="English" onclick="test" />

I code-behind har jeg så følgende:
Public Sub test(ByVal sender As Object, ByVal e As System.EventArgs)
  If chgLanguage.Text = "Dansk" Then
    chgLanguage.Text = "English"
    Session("Language") = "eng"
  Else
    chgLanguage.Text = "Dansk"
    Session("Language") = "da"
  End If
End Sub

Som I kan se gemmer jeg sprogvalget i en session.
Problemet er nu at første gang jeg klikker på knappen ændre den navn, men sessionen ændres først næste gang knappen klikkes på. Herefter virker det fint for hver gang.

Kort sagt er der altså et problem i min postback som jeg ikke helt kan greje.
Avatar billede dj_uncas Nybegynder
25. marts 2006 - 16:21 #1
Den lille metode der virker fint hos mig. Hvad har du i Page_Load()? Sætter du evt. chgLanguage.Text? Hvis du gør, så prøv at proppe det i en if:

if ( !Page.IsPostBack )
{
  chgLanguage.Text = (string)Session["Language"];
}
Avatar billede arriva Nybegynder
25. marts 2006 - 20:32 #2
Problemet lå selvfølgelig i at jeg rodede lidt for meget rundt med control'en, som du også er inde på :(

Anyway.. min endelige løsning (som virker ;)
Public Sub chgLanguage_Click(ByVal sender As Object, ByVal e As System.EventArgs) Handles chgLanguage.Click
If Session("Language") = "da" Then
    Session("Language") = "eng"
Else
    Session("Language") = "da"
End If

samt følgende i usercontolens prerender
If Session("Language") = "eng" Then
    chgLanguage.Text = "Dansk"
    chgLanguage.ToolTip = "Skift sprog til dansk"
ElseIf Session("Language") = "da" Then
    chgLanguage.Text = "English"
    chgLanguage.ToolTip = "Change language to english"
End If

Smid et svar, så skal du få points.
Avatar billede dj_uncas Nybegynder
25. marts 2006 - 21:39 #3
Kommer her..
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
IT-kurser om Microsoft 365, sikkerhed, personlig vækst, udvikling, digital markedsføring, grafisk design, SAP og forretningsanalyse.

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester