ASP.NET MVC表单和双字段

前端之家收集整理的这篇文章主要介绍了ASP.NET MVC表单和双字段前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我正在开发一个asp.net mvc门户来使用localDB来管理GPS坐标.我的模型是:
  1. public class GpsCoordinateviewmodel
  2. {
  3. double Latitute { get; set; }
  4. double Longitude { get; set; }
  5. }

自动生成的adn相关View创建一个新的GpsCoordinate是:

  1. @{
  2. ViewBag.Title = "Create";
  3. }
  4.  
  5. <h2>Create</h2>
  6. @using (Html.BeginForm()) {
  7. @Html.AntiForgeryToken()
  8. @Html.ValidationSummary(true)
  9.  
  10. <fieldset>
  11. <legend>GpsCoordinateviewmodel</legend>
  12.  
  13. <div class="editor-label">
  14. @Html.LabelFor(model => model.Latitude)
  15. </div>
  16. <div class="editor-field">
  17. @Html.EditorFor(model => model.Latitude)
  18. @Html.ValidationMessageFor(model => model.Latitude)
  19. </div>
  20.  
  21. <div class="editor-label">
  22. @Html.LabelFor(model => model.Longitude)
  23. </div>
  24. <div class="editor-field">
  25. @Html.EditorFor(model => model.Longitude)
  26. @Html.ValidationMessageFor(model => model.Longitude)
  27. </div>
  28. <p>
  29. <input type="submit" value="Create" />
  30. </p>
  31. </fieldset>

}

  1. <div>
  2. @Html.ActionLink("Back to List","Index")
  3. </div>
  4.  
  5. @section Scripts {
  6. @Scripts.Render("~/bundles/jqueryval")
  7. }

问题是,当我插入纬度:41.213321和经度:12.123432(例如)时,使用breakpoin本地值为:纬度:41213321经度:12123432.
由于位置的准确性,我需要使用double,但是如何?

我也读过这个问题:
How should I use EditorFor() in MVC for a currency/money type?

MVC3 – 3 decimal places on type double with leading zero

解决方案对我不起作用.
有什么建议吗?

编辑:
我的webconfig是:

  1. <system.web>
  2. <httpHandlers>
  3. <add path="*" verb="*" type="System.Web.HttpNotFoundHandler"/>
  4. </httpHandlers>
  5.  
  6. <!--
  7. Enabling request validation in view pages would cause validation to occur
  8. after the input has already been processed by the controller. By default
  9. MVC performs request validation before a controller processes the input.
  10. To change this behavior apply the ValidateInputAttribute to a
  11. controller or action.
  12. -->
  13. <pages
  14. validateRequest="false"
  15. pageParserFilterType="System.Web.Mvc.ViewTypeParserFilter,System.Web.Mvc,Version=4.0.0.0,Culture=neutral,PublicKeyToken=31BF3856AD364E35"
  16. pageBaseType="System.Web.Mvc.ViewPage,PublicKeyToken=31BF3856AD364E35"
  17. userControlBaseType="System.Web.Mvc.ViewUserControl,PublicKeyToken=number">
  18. <controls>
  19. <add assembly="System.Web.Mvc,PublicKeyToken=number" namespace="System.Web.Mvc" tagPrefix="mvc" />
  20. </controls>
  21. </pages>
  22. <globalization culture="en-US" uiCulture="en-US" />

解决方法

可能是由cultureinfo,一些文化用途引起的,而不是.用于小数分隔符.尝试在web.config中设置以下内容,
  1. <system.web>
  2. <globalization culture="en-US" uiCulture="en-US" />
  3. </system.web>

希望这可以帮助

猜你在找的asp.Net相关文章