IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

ASP.NET Discussion :

[VS2005][ASP.NET] Point virgule


Sujet :

ASP.NET

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre actif
    Inscrit en
    Juillet 2004
    Messages
    110
    Détails du profil
    Informations forums :
    Inscription : Juillet 2004
    Messages : 110
    Par défaut [VS2005][ASP.NET] Point virgule
    Bonjour,

    En copiant mon site sur un autre serveur, j'ai le problème suivant :

    Le point virgule n'est plus reconnu en tant que séparateur de décimal !
    Par exemple, mes contrôles de validation génèrent une erreur :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <asp:RangeValidator id="myrgvProdSigCaJar196" ControlToValidate="mytbxProdCorCaJar196" MinimumValue="-9999999,99" MaximumValue="9999999,99" Type="Double" EnableClientScript="true" Text="La valeur doit être comprise entre -9999999,99 et 9999999,99 !" runat="server" Display="Dynamic"/>
    Si je remplace par des points ça marche...

    Sur le serveur, je me doutais bien, les paramètres régionaux place le point comme séparateur de décimal.

    Sans trop avoir utilisé, je savais qu'il y avait une histoire de Culture en .NET.

    Après recherches, j'ai placé dans mon web.config,
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <globalization Culture="fr-FR" uiCulture="fr"></globalization>
    (j'ai aussi ajouté add namespace="System.Globalization")

    Mais bon, ça ne change rien à mon problème en fait... Mince ! J'y croyais...

    Comment faire pour définir le séparateur de décimal & milliers ?

    Merci

  2. #2
    Membre actif
    Inscrit en
    Juillet 2004
    Messages
    110
    Détails du profil
    Informations forums :
    Inscription : Juillet 2004
    Messages : 110
    Par défaut
    Bonjour,

    Je viens d'essayer :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
            Dim mycultureinfo As New CultureInfo("fr-FR")
            mycultureinfo.NumberFormat.CurrencyDecimalSeparator = "."
     
     
            Thread.CurrentThread.CurrentCulture = mycultureinfo
            Thread.CurrentThread.CurrentUICulture = mycultureinfo
    (Au début du Page_Load de ma page aspx.)

    Et aussi : (toujours dans le codebehind de la même page)

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    Protected Overrides Sub InitializeCulture()
     
            Dim mycultureinfo As New CultureInfo("fr-FR")
            mycultureinfo.NumberFormat.CurrencyDecimalSeparator = "."
            Thread.CurrentThread.CurrentCulture = mycultureinfo
            Thread.CurrentThread.CurrentUICulture = mycultureinfo
            MyBase.InitializeCulture()
     
    End Sub
    Si je fais un

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Response.Write("decsep = " & Thread.CurrentThread.CurrentCulture.NumberFormat.CurrencyDecimalSeparator)
    J'ai bien . comme séparateur... mais mes contrôles de validation (en EnableClientScript="True") passent avec la virgule... alors qu'ils ne devraient pas !
    Je ne comprends pas très l'utilisation de la Culture...

    Help !

  3. #3
    Membre actif
    Inscrit en
    Juillet 2004
    Messages
    110
    Détails du profil
    Informations forums :
    Inscription : Juillet 2004
    Messages : 110
    Par défaut
    Re,

    Je n'ai pas d'explication pour mon problème, mais j'ai une solution pour les validators (si ça peut aider ceux qui ont le même problème...) :

    Je ne défini pas les valeurs MinimumValue & MaximumValue dans la page .ASPX,
    mais dans la page de code-behind, dans la procédure Page_Load :

    Et en faisant une conversion des valeurs et non en tapant directement la valeur (sinon on retombe sur le même souci) :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    myrgvProdSigCaJar196.MinimumValue = ctype(9999.99, String)
    .NET fera la conversion en utilisant le bon séparateur...

    Sinon, je suis toujours intéressé par cette histoire de point/virgule...

Discussions similaires

  1. [Débutant] Page ASP.NET avec un lien qui pointe vers une requête HTTPS
    Par fterf dans le forum ASP.NET
    Réponses: 2
    Dernier message: 13/07/2014, 12h07
  2. ASP.NET : débogueur ignore les points d'arrêt
    Par jozes dans le forum ASP.NET
    Réponses: 15
    Dernier message: 05/06/2009, 16h19
  3. [VS2005 ASP.NET SQLSERVER]
    Par Golzinne dans le forum ASP.NET
    Réponses: 3
    Dernier message: 15/03/2009, 15h32
  4. [Compatibilité] IE7 ASP.NET VS2005 MasterPage
    Par X-Nem dans le forum Général Dotnet
    Réponses: 4
    Dernier message: 31/05/2007, 17h24
  5. Réponses: 1
    Dernier message: 02/08/2006, 17h01

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo