如何解决在.NET Core MVC 3.1
我很难为双重财产的价值传递问题。就属性而言,坐标(纬度,经度)的格式为###。######。在我的PC上,默认数字格式为### ###,## 我的输入字段仅传递值###,###。如果输入类似以下内容:
1234444,然后我收到消息“纬度字段必须是数字。”在代码属性中的值为0
130.653221 =>相同,属性收到0,我收到消息“值'130.653221'对于谷歌纵横无效。”
12,1234,则客户端验证程序不会通过我,因为“纬度字段必须是数字。”
我试图在ViewModel中放置正则表达式,例如[RegularExpression(@“ ^ \ d +。\ d {0,6} $”)],但未成功。 有什么方法可以将值的格式更改为###。######?
下面您可以找到我的代码:
ViewModel
public class ShopLocationViewModel
{
public int Id { get; set; }
public string Header { get; set; }
public string FirstText { get; set; }
public string SecondText { get; set; }
public string ThirdText { get; set; }
public string LinkText { get; set; }
public string Link { get; set; }
public double Latitude { get; set; }
public double Longitude { get; set; }
public int Priority { get; set; }
}
控制器:
[HttpPost]
[ValidateAntiForgeryToken]
public ActionResult Create([Bind("Header,FirstText,SecondText,ThirdText,LinkText,Link,Latitude,Longitude,Priority,Id")] ShopLocationViewModel shopLocation)
{
if (ModelState.IsValid)
{
var shopLocationDto = _viewModelMapper.Map(shopLocation);
_dataManger.AddNewShopLocation(shopLocationDto);
return RedirectToAction(nameof(Index));
}
return View(shopLocation);
}
查看:
@model ShopLocationViewModel
<div class="row">
<div class="col-md-4">
<form asp-action="Create">
<div asp-validation-summary="ModelOnly" class="text-danger"></div>
<div class="form-group">
<label asp-for="Header" class="control-label"></label>
<input asp-for="Header" class="form-control" />
<span asp-validation-for="Header" class="text-danger"></span>
</div>
<div class="form-group">
<label asp-for="FirstText" class="control-label"></label>
<input asp-for="FirstText" class="form-control" />
<span asp-validation-for="FirstText" class="text-danger"></span>
</div>
<div class="form-group">
<label asp-for="SecondText" class="control-label"></label>
<input asp-for="SecondText" class="form-control" />
<span asp-validation-for="SecondText" class="text-danger"></span>
</div>
<div class="form-group">
<label asp-for="ThirdText" class="control-label"></label>
<input asp-for="ThirdText" class="form-control" />
<span asp-validation-for="ThirdText" class="text-danger"></span>
</div>
<div class="form-group">
<label asp-for="LinkText" class="control-label"></label>
<input asp-for="LinkText" class="form-control" />
<span asp-validation-for="LinkText" class="text-danger"></span>
</div>
<div class="form-group">
<label asp-for="Link" class="control-label"></label>
<input asp-for="Link" class="form-control" />
<span asp-validation-for="Link" class="text-danger"></span>
</div>
<div class="form-group">
<label asp-for="Latitude" class="control-label"></label>
<input asp-for="Latitude" class="form-control" />
<span asp-validation-for="Latitude" class="text-danger"></span>
</div>
<div class="form-group">
<label asp-for="Longitude" class="control-label"></label>
<input asp-for="Longitude" class="form-control" />
<span asp-validation-for="Longitude" class="text-danger"></span>
</div>
<div class="form-group">
<label asp-for="Priority" class="control-label"></label>
<input asp-for="Priority" class="form-control" />
<span asp-validation-for="Priority" class="text-danger"></span>
</div>
<div class="form-group">
<input type="submit" value="Create" class="btn btn-primary" />
</div>
</form>
</div>
@section Scripts {
@{await Html.RenderPartialAsync("_ValidationScriptsPartial");}}
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。