Zajmuję się tworzeniem portalu asp.net mvc do zarządzania współrzędnymi GPS za pomocą localDB. Mój model to:Formularz ASP.NET MVC i podwójne pola
public class GpsCoordinateViewModel
{
double Latitute { get; set; }
double Longitude { get; set; }
}
automatycznie wygenerowany adn pokrewne Zobacz, aby utworzyć nowy GpsCoordinate jest:
@{
ViewBag.Title = "Create";
}
<h2>Create</h2>
@using (Html.BeginForm()) {
@Html.AntiForgeryToken()
@Html.ValidationSummary(true)
<fieldset>
<legend>GpsCoordinateViewModel</legend>
<div class="editor-label">
@Html.LabelFor(model => model.Latitude)
</div>
<div class="editor-field">
@Html.EditorFor(model => model.Latitude)
@Html.ValidationMessageFor(model => model.Latitude)
</div>
<div class="editor-label">
@Html.LabelFor(model => model.Longitude)
</div>
<div class="editor-field">
@Html.EditorFor(model => model.Longitude)
@Html.ValidationMessageFor(model => model.Longitude)
</div>
<p>
<input type="submit" value="Create" />
</p>
</fieldset>
}
<div>
@Html.ActionLink("Back to List", "Index")
</div>
@section Scripts {
@Scripts.Render("~/bundles/jqueryval")
}
problemem jest to, że kiedy wstawić jako Latitude: 41.213321 i Długość geograficzna: 12.123432 (np.), Z wykorzystaniem lokalnych wartości breakpoin to: Szerokość geograficzna: 41213321 Długość geograficzna: 12123432. Potrzebuję użyć podwójnego ze względu na dokładność lokalizacji, ale jak?
Czytałem również tego pytania: How should I use EditorFor() in MVC for a currency/money type?
MVC3 - 3 decimal places on type double with leading zero
ale rozwiązania nie działa dla mnie. Wszelkie sugestie?
EDIT: Moja webconfig jest:
<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" />
Czy mówisz, że jeśli wprowadzasz wartości z kropką dziesiętną, wartości są następnie odbierane jako liczba całkowita w twoim łączniku? –
Hi von v. tak, dokładnie – antedesk
To interesujące. Nawet bez formatowania dataannotation powinno działać. Nie sądzę nawet, że informacje o kulturze mają z tym coś wspólnego, ponieważ w ogóle nie masz separatora! Hmm ... –