Avatar billede agerled Nybegynder
21. september 2006 - 09:59 Der er 21 kommentarer og
1 løsning

Global variabel

Hej

Hvordan sætter man en global variabel som kan tilgås fra alle sider?

..og hvor sætter man den?
Avatar billede snepnet Nybegynder
21. september 2006 - 10:03 #1
Hvad er det for en slags variabel... Hvad repræsenterer den?
Mvh
Avatar billede agerled Nybegynder
21. september 2006 - 10:09 #2
Hej

Jeg skal sætte en variabel (sprog) - en streng som sættes ud fra domænenavnet.

variablen skal så herefter bruges i det fleste databaseopslag...
Avatar billede snepnet Nybegynder
21. september 2006 - 10:11 #3
Kan du ikke bare lægge den i web.config .... Det er vel ikke noget der ændrer sig under kørsel?
Mvh
Avatar billede agerled Nybegynder
21. september 2006 - 10:16 #4
Hvor den lægger jeg den i webconfig ??
Avatar billede snepnet Nybegynder
21. september 2006 - 10:18 #5
Bruger du 1.1 eller 2.0?
Avatar billede agerled Nybegynder
21. september 2006 - 10:23 #6
det er 2.0
Avatar billede snepnet Nybegynder
21. september 2006 - 10:26 #7
Under configuration i din web.config:
  <appSettings>
    <add name="SomeString" value="Blah"></add>
  </appSettings>
Og du kan så hente den sådan her:
string gv = ConfigurationManager.AppSettings["SomeString"];

Er det sådan nogle da-DK / en-US ting du skal lægge i den?

Mvh
Avatar billede agerled Nybegynder
21. september 2006 - 10:31 #8
"Er det sådan nogle da-DK / en-US ting du skal lægge i den?"

.. ja det ved jeg faktisk ikke helt.

Ved du noget om hvordan man bedst styrer forskellige sprog på en side?? i database eller??
Avatar billede jokkejensen Novice
21. september 2006 - 10:41 #9
jeg plejer at gemme data(tekst) i database/xml...

og brugerens sprog i Session eller Cookie objectet.. og evt brugerns profil.

/JJ
Avatar billede agerled Nybegynder
21. september 2006 - 11:15 #10
ok, tak

Hvordan sætter jeg nedestående dynamisk?

<appSettings>
    <add name="SomeString" value="Blah"></add>
  </appSettings>
Avatar billede snepnet Nybegynder
21. september 2006 - 11:16 #11
Brugerens foretrukne sprog ville jeg lægge i profilen.
Der er gode muligheder for lokalisering... Som udgangspunkt er der indbyggede faciliteter til at have global og lokale ressourcefiler (xml).
Det fungerer ganske glimrende.
Du kan sådan set også lade frameworket vælge brugerens sprog automatisk udfra indstillingerne i browseren, men den er ikke helt skudsikker, så man giver normalt brugeren et valg (tryk på det danske flag for dansk etc.).
Mvh
Avatar billede snepnet Nybegynder
21. september 2006 - 11:27 #12
Hov - sætter det dynamisk.
Hvis du vil det er konfigurationsfilen en dårlig id'e... Det er ikke fordi du ikke kan gøre det, men ændringer i web.config medfører genstart af applikationen, så det er ikke fedt hvis det er noget der skal gøres ofte.
Men skal jeg forstå det sådan, at du vil have et default sprog pr. domæne, og så lade brugeren vælge et andet hvis denne har lyst.
Mvh
Avatar billede agerled Nybegynder
21. september 2006 - 12:12 #13
Ja nemlig...
Avatar billede snepnet Nybegynder
21. september 2006 - 12:42 #14
Så lyder defaultsprog i web.config som en glimrende idé synes jeg, og du kan sådan set blot sætte en defualt på profilen (altså i web.config).
Mvh
Avatar billede agerled Nybegynder
21. september 2006 - 12:50 #15
hmmm... 

Jeg prøver lige at forklare en gang til:

Jeg har en variable der hedder DATASET (land)

En bruger går så f.eks in på www.minside.dk

DATASET  skal så være "DK"

www.minside.se

DATASET  skal så være "SE"

Håber jeg har gjort det mere tydelig nu...
Avatar billede snepnet Nybegynder
21. september 2006 - 13:12 #16
Er det den samme applikation der ligger under begge domæner... Eller har du en kopi af dit site hvert sted?
Mvh
Avatar billede agerled Nybegynder
21. september 2006 - 13:16 #17
Ja meningen er at det skal være den samme....
Avatar billede snepnet Nybegynder
21. september 2006 - 13:47 #18
Hvis det reelt er den samme applikation der står og kører, så kommer det til at knibe med at have en "global variabel" ... Det vil jo være pr. siteextension (se/dk/..) at den skal sættes - og dermed pr. request.
Hvis det under alle omstændigheder er noget du vil angive på profilen, og have den samme app til at håndtere requests fra alle sites, kan du lave dig en art resourcemanager hvor du henter en given ressource baseret på brugerens sprog.
Men altså .... Er det fordi du ikke bryder dig om den lokaliseringsløsning der findes i forvejen at du har lavet det sådan?
Mvh
Avatar billede agerled Nybegynder
21. september 2006 - 14:00 #19
jeg er ikke lige så meget inde i lige det her her....

jeg laver lige et simpelt eksempel mre.

Jeg har en side hvor der sælges nogle produkter. Til hvert produkt er der selvfølgelig en beskrivelse. Beskrivelse er så i 4 versioner på hvert sit sprog

Lad os så sige at når man åbner siden skal den hente f.eks. den svenske text hvis siden er www.minside.se:
DATASET = "SE"
"select * from minTekst where dataset = '" & dataset & "'"

Variablen DATASET skal så kunne tilgås fra alle sider...

hvordan laver man denne løsning bedst.
Avatar billede snepnet Nybegynder
21. september 2006 - 21:33 #20
Du kan få din rootpath's extension med:
string extension = System.IO.Path.GetExtension(Request.ApplicationPath).Trim('.');
Såh... du kan lave en lille klasse der kan give dig værdien sådan her:

public class SiteUtility
{
    public static string SiteExtension
    {
        get
        {
            return Path.GetExtension(HttpContext.Current.Request.ApplicationPath).Trim('.');
        }
    }
}

Og lægge den i App_Code folderen. Så kan du få værdien med
SiteUtility.SiteExtesion
Hvorfra du vil i din webapp.

Mvh
Avatar billede agerled Nybegynder
22. september 2006 - 06:32 #21
Jeg takker mange gange og ser hvad jeg når frem til. Læg bare et svar.
Avatar billede snepnet Nybegynder
22. september 2006 - 08:35 #22
Ok :o)
Mvh
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