Avatar billede cort Nybegynder
24. juli 2002 - 18:23 Der er 15 kommentarer og
1 løsning

asp:hyperlink events

jeg har en
<asp:hyperlink/>
hvor jeg gerne vil have en function til at køre idet der klikkes på linket.
jeg har prøvet
<asp:HyperLink id="LanguageChange2" runat="server"  class="LeftMenu" onclick="LanguageChange2_onclick"/>
hvor der så er en sub der skal køres ala dette her:
sub LanguageChange2_onclick(Sender As Object , E as EventArgs)
session.LCID = 1034
End Sub
det der skal ske er at sesseion.lcid skal ændres til noget andet end det den var før.

men det virker ikke . er der nogen der kan hjælpe.
Avatar billede odegaard Nybegynder
24. juli 2002 - 18:40 #1
prøv i stedet:
<a id="LanguageChange2" onserverclick="LanguageChange2_onclick" runat="server">Klik her</a>
Avatar billede odegaard Nybegynder
24. juli 2002 - 18:43 #2
asp:HyperLink her tilsyneladende ikke et onclick-event, hvis man kigger i SDK'en. Den renderer blot et alm. <a href> tag.
Den ovenstående laver i stedet postback vha. javascript (husk at det skal være inde i <form>)
Avatar billede odegaard Nybegynder
24. juli 2002 - 18:52 #3
Hvis det skal gøres lidt smart:

<%@ Page Language="VB" %>
<script language="VB" runat=server>

Sub ChangeLanguage(Sender as Object, E as EventArgs)
  Select Case sender.ClientID.ToString()
    Case "linkEN"
        session.LCID=1033
    Case "linkDA"
        session.LCID=1030
  End Select
End Sub

</script>

<form runat=server>
Vælg sprog:
  <a href="dasd" ID="linkEN" onServerClick="ChangeLanguage" runat="server">Engelsk</a>
  <br />
  <a href="dasd" ID="linkDA" onServerClick="ChangeLanguage" runat="server">Dansk</a>
</form>
Avatar billede cort Nybegynder
24. juli 2002 - 19:03 #4
No offence , men det ændrer ikke en bønne overhovedet. Skulle det virke bruger du det selv (odegaard)????
Avatar billede cort Nybegynder
24. juli 2002 - 19:04 #5
Er vi enige om at man udskriver det nuværende session.lcid sådan her:
response.write(session("LCID"))
eller kan det være her problemmet ligger.
Avatar billede odegaard Nybegynder
24. juli 2002 - 19:06 #6
Huh? Jeg har ikke testet koden, men princippet skulle være godt nok. Problemet er først og fremmest at hyperlink ikke kan lave postback.

Desuden skal du ikke udskrive Session("LCID"), men Session.LCID
Avatar billede odegaard Nybegynder
24. juli 2002 - 19:10 #7
Har lige testet følgende, og det virker fortræffeligt (stort set samme kode):
--------------------
<%@ Page Language="VB" %>
<script language="VB" runat=server>

Sub Page_Load(Sender as Object, E as EventArgs)
  language.text = "Sprog=" & Session.LCID
End Sub

Sub ChangeLanguage(Sender as Object, E as EventArgs)
  language.text = "Forrige sprog=" & Session.LCID

  Select Case sender.ClientID.ToString()
    Case "linkEN"
        session.LCID=1033
    Case "linkDA"
        session.LCID=1030
  End Select

  language.text += " - Nyt sprog:" & Session.LCID
End Sub

</script>

<html><body>

<form runat=server>
Vælg sprog:<br />
  <a href="dasd" ID="linkEN" onServerClick="ChangeLanguage" runat="server">Engelsk</a>
  <br />
  <a href="dasd" ID="linkDA" onServerClick="ChangeLanguage" runat="server">Dansk</a>
</form>

<asp:label id="language" runat="server" />

</body>
</html>
Avatar billede odegaard Nybegynder
24. juli 2002 - 19:11 #8
Nej hov... du har jo ret. Jeg overså lige noget... Den forrige værdi af Session.LCID forbliver 1030.
MEGET MYSTISK !
Avatar billede odegaard Nybegynder
24. juli 2002 - 19:15 #9
Det virker som om at LCID bliver glemt næste gang siden vises. Hen igennem ekserkveringen af siden forbliver den det samme (medmindre man selvfølgelig ændre den undervejs).
Avatar billede odegaard Nybegynder
24. juli 2002 - 19:16 #10
Ah... fandt det her på MSDN:
The LCID property is provided for compatibility with earlier versions of ASP only. If you do not need to maintain backward compatibility with ASP pages, use LCID instead.

ASP.NET does not store LCID in session state. This property calls LCID to get and set LCID.
Avatar billede cort Nybegynder
24. juli 2002 - 19:24 #11
hvilket mener hvad, det du fandt på msdn?
At LCID skal kaldes og sættes på en anden måde?
F.eks
LCID = 1030
Tror du det er sådan.
Avatar billede odegaard Nybegynder
24. juli 2002 - 19:32 #12
Ja det virker sådan. Tilsyneladende glemmer den også denne værdi næste gang siden vises.
Sidder lige og roder lidt videre med det (har fundet en hel roman on localization)
Avatar billede cort Nybegynder
26. juli 2002 - 13:56 #13
Jeg fik det aldrig helt til at virke som beskrevet, så jeg har måtte nøjes med at lave en neddrosslet version.
tak for hjælpen.
Avatar billede cort Nybegynder
26. juli 2002 - 13:57 #14
Dette er det eneste jeg har kunne finde om localization på msdn.
hvor har du fundet noget henne?

http://msdn.microsoft.com/library/default.asp?url=/library/en-us/dnaspp/html/entloctoolkit.asp
Avatar billede odegaard Nybegynder
26. juli 2002 - 14:02 #15
Det er en del af SDK'en, som du kan finde under Session-objectets LCID-method.
Avatar billede cort Nybegynder
26. juli 2002 - 14:12 #16
ok takker , lukker spørgsmålet.
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