Avatar billede thomas_regin Nybegynder
07. maj 2003 - 11:07 Der er 17 kommentarer og
1 løsning

Skift til Dansk!

Hejsa!

Jeg forsøger at få min webform til at køre på dansk, således, at datoer osv. ignorerer mine Windows settings, og benytter dem jeg specificerer i CultureInfo, men jeg kan ikke rigtigt få det til at virke!

Kan man ikke, som i classic ASP, specificere en LCID eller lign., som gør, at hele webformen kører i det sprog, som man ønsker!?

Mvh,

/thomas regin.
Avatar billede clausjul Nybegynder
07. maj 2003 - 11:09 #1
Er du sikker på at det står:
Culture="da-DK"

i din Page definition?
Avatar billede clausjul Nybegynder
07. maj 2003 - 11:10 #2
F.eks.
<%@Page language="C#" Culture="da-DK" Codebehind="fil.aspx.cs" %> i toppen af din aspx side.
Avatar billede odegaard Nybegynder
07. maj 2003 - 11:11 #3
Er det ikke nemmere at sætte den på application niveau? Dvs. i web.config
Avatar billede thomas_regin Nybegynder
07. maj 2003 - 11:12 #4
Ja:

<%@ Page language="c#" Codebehind="default.aspx.cs" Culture="da-DK" AutoEventWireup="false" Inherits="kano.WebForm1" %>

Og sjovt nok har det INGEN effekt, whatsoever! :(

Mvh,

/thomas regin.
Avatar billede thomas_regin Nybegynder
07. maj 2003 - 11:13 #5
Odegaard,

Hvor sætter jeg den i web.config?

/thomas
Avatar billede thomas_regin Nybegynder
07. maj 2003 - 11:14 #6
Jeg skal lige sige, at jeg er totalt uvant med Web Forms i .Net, og er vant til at kode GUI, så derfor er jeg lettere grøn på dette område! ;)

Derfor de dumme spørgsmål!

/thomas.
Avatar billede clausjul Nybegynder
07. maj 2003 - 11:24 #7
i web.config er der en element som hedder globalization - der indsætter du culture="DA-dk" i tagget. Så den ser nogenlunde som:

    <globalization
            requestEncoding="utf-8"
            responseEncoding="utf-8"
            culture="DA-dk"
  />
Avatar billede thomas_regin Nybegynder
07. maj 2003 - 11:25 #8
Sjovt nok!

Hvis jeg udskriver:

lblInfo.Text = CultureInfo.CurrentCulture.DisplayName;

Så er outputtet: "Danish (Denmark)"

Men alle mine datoer osv, er stadig engelske!.. Grrr!

/thomas.
Avatar billede clausjul Nybegynder
07. maj 2003 - 11:26 #9
Hov, den globalization element skal have requestEncoding="iso-8559-1" og responseEncoding="iso-8859-1"
Avatar billede thomas_regin Nybegynder
07. maj 2003 - 11:26 #10
Desværre.. Intet resultat!

/thomas.
Avatar billede clausjul Nybegynder
07. maj 2003 - 11:26 #11
Hvor kommer dine datoer fra - please smid noget kodesegment her...
Avatar billede thomas_regin Nybegynder
07. maj 2003 - 11:27 #12
Hvis jeg smider de ISO'er ind, så fejler compileren, sjovt nok:

The <globalization> tag contains an invalid value for the 'requestEncoding' attribute

/thomas
Avatar billede thomas_regin Nybegynder
07. maj 2003 - 11:28 #13
Okay.. Her kommer noget kode:

private void getMonths()
        {
            DateTimeFormatInfo dtf = new DateTimeFormatInfo();
            string[] myMonths = dtf.MonthNames;
            string[] abMonths = dtf.AbbreviatedMonthNames;
            for (int i = 0; i < myMonths.Length -1; i++)
            {
                ListItem li = new ListItem(myMonths[i],abMonths[i]);
                drMonths.Items.Add(li);
            }
            drMonths.SelectedIndex = DateTime.Now.Month -1;
        }

Mvh,

/thomas
Avatar billede clausjul Nybegynder
07. maj 2003 - 12:41 #14
Her er løsningen

private void getMonths()
        {
            // Indsat af clausjul     
            CultureInfo thisCulture = new CultureInfo("DA-dk");
            DateTimeFormatInfo dtf = thisCulture.DateTimeFormat;
     
            string[] myMonths = dtf.MonthNames;
            string[] abMonths = dtf.AbbreviatedMonthNames;
            for (int i = 0; i < myMonths.Length -1; i++)
            {
                ListItem li = new ListItem(myMonths[i],abMonths[i]);
                drMonths.Items.Add(li);
            }
            drMonths.SelectedIndex = DateTime.Now.Month -1;
        }
Avatar billede thomas_regin Nybegynder
07. maj 2003 - 12:49 #15
Ja, du har faktisk ret!.. Det virker!

MEN... ;)

Nu er problemet, at jeg andre steder i systemet benytter mig af de datoer, som jeg generer via mine dropdowns, og de fejler nu, med "Unknown date format" osv.

F.eks følgende:

combinedDate = Convert.ToDateTime(drDays.Items[drDays.SelectedIndex].ToString() + "/" + drMonths.Items[drMonths.SelectedIndex].ToString() + "/" + drYears.Items[drYears.SelectedIndex].ToString());

Jeg synes jo stadig, at det kunne være utrolig fedt, hvis man kunne sætte et "overall" sprog, og genbruge den samme kode, så man var fri for, at ændre i tingene!

Tak for hjælpen!

Mvh,

/thomas regin.
Avatar billede clausjul Nybegynder
07. maj 2003 - 12:52 #16
Jeg er faktisk enig med dig i, at man kunne godt sætte CultureInfo globalt gennem Web.config - men det ser åbenbart ud til at der er visse undtagelser såsom DateTimeFormatInfo, hvor den har UK som default...
Avatar billede thomas_regin Nybegynder
07. maj 2003 - 12:55 #17
Ja, det må man sige. Anyways.. Resten er kun pillearbejde! ;)

Du får dine velfortjente points!

Tak for hjælpen!!

/thomas regin.
Avatar billede clausjul Nybegynder
07. maj 2003 - 12:56 #18
Takker ;-)
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