Je développe un portail ASP.NET MVC pour gérer les coordonnées GPS utilisant localDB. Mon modèle est:
<system.web> <httpHandlers> <add path="*" verb="*" type="System.Web.HttpNotFoundHandler"/> </httpHandlers> <!-- Enabling request validation in view pages would cause validation to occur after the input has already been processed by the controller. By default MVC performs request validation before a controller processes the input. To change this behavior apply the ValidateInputAttribute to a controller or action. --> <pages validateRequest="false" pageParserFilterType="System.Web.Mvc.ViewTypeParserFilter, System.Web.Mvc, Version=4.0.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35" pageBaseType="System.Web.Mvc.ViewPage, System.Web.Mvc, Version=4.0.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35" userControlBaseType="System.Web.Mvc.ViewUserControl, System.Web.Mvc, Version=4.0.0.0, Culture=neutral, PublicKeyToken=number"> <controls> <add assembly="System.Web.Mvc, Version=4.0.0.0, Culture=neutral, PublicKeyToken=number" namespace="System.Web.Mvc" tagPrefix="mvc" /> </controls> </pages> <globalization culture="en-US" uiCulture="en-US" />
3 Réponses :
Peut être causé par le cultureInfo, une utilisation de la culture espère que cela aide p> p> , code> au lieu de
. code> pour le séparateur décimal. Essayez de définir les éléments suivants dans web.config,
ça marche mais pas si bon. Les champs du formulaire me permettent d'insérer un nombre court (seulement 3 numéros Afeter,), puis lorsque je crée une nouvelle dbgégygographie (voir system.data.spatial), j'ai une exception générale.
Utilisez-vous "en-nous"? Si vous utilisez, le 41.213321 ne se lie pas correctement?
Je copie et coller
Avez-vous utilisé des produits de basenotations sur 'Latitude', 'Lattitut' Propriétés sur la classe "GPS Coordinated Mododel"?
Comme vous pouvez le voir, non je n'ai pas
Utilisez Decimal au lieu de double comme type de données, ce qui pourrait aider.
public class GpsCoordinateViewModel { decimal Latitute { get; set; } decimal Longitude { get; set; } }
Bien ensuite, utilisez la chaîne sous forme de type de données et analysez la valeur décimale ultérieure du contrôleur. P>
Dites-vous que si vous entrez des valeurs avec un point décimal, les valeurs sont ensuite reçues comme numéro entier dans votre contraire?
Salut von v. Oui, exactement
C'est intéressant. Même sans le formatage de la baseNotation, il devrait fonctionner. Je ne pense même pas que la culture info a quelque chose à voir avec cela, car vous n'obtenez pas de séparateur du tout! Hmm...
@vonv. Par exemple, CultureInfo pour le français (Belgique) (FR-BE) Un nombre valide est (123.456.789,00) ici. est pour le groupe de chiffres et, est le symbole décimal.
C'est exactement ce que je voulais dire. Y a-t-il un pays dont le symbole décimal est "vide"?
Oui, vous avez raison, même si avec la culture FR-BE "41.213321" doit être convertie en C # double 41213321.0