C# 将System.Data.Entity.Spatial.DbGeography绑定到MVC模型
我有一个带有DBGeometry字段的MVC模型C# 将System.Data.Entity.Spatial.DbGeography绑定到MVC模型,c#,asp.net-mvc,razor,dbgeography,C#,Asp.net Mvc,Razor,Dbgeography,我有一个带有DBGeometry字段的MVC模型 [Required(AllowEmptyStrings = false, ErrorMessage = "Location is required")] public System.Data.Entity.Spatial.DbGeography LocationGps { get; set; } // LocationGPS 在我的视图中,我有这个隐藏的值 @Html.HiddenFor(model => model.L
[Required(AllowEmptyStrings = false, ErrorMessage = "Location is required")]
public System.Data.Entity.Spatial.DbGeography LocationGps { get; set; } // LocationGPS
在我的视图中,我有这个隐藏的值
@Html.HiddenFor(model => model.LocationGps)
@Html.HiddenFor(model => model.Lat)
@Html.HiddenFor(model => model.Lng)
编辑模型时,我将以下内容写入控制器
model.LocationGps = Utils.Geography.ConvertLatLonToDbGeography(model.Lng, model.Lat);
if (ModelState.IsValid)
{}
ConvertLatLonToDBG地理代码:
public static DbGeography ConvertLatLonToDbGeography(double longitude, double latitude)
{
var point = string.Format("POINT({1} {0})", latitude, longitude);
return DbGeography.FromText(point);
}
但是ModelState始终无效,因为LocationGps为空。如何通过视图正确设置LocationGps参数的值?
其目的是拥有一张谷歌地图,从javascript获取坐标(存储在Lat和Lng字段中),然后正确设置我的位置GPS。我该怎么做?我的问题通过以下步骤解决:
"ajax":
{
"url": "@string.Format("{0}",Url.Content("~/Location/AjaxGetLocations"))",
"type": "POST",
"dataSrc": function (data) {
var json = JSON.parse(data);
return json["data"];
}
},
"columns": [
{ "data": "LocationID", "orderable": false, "visible": false },
{ "data": "LocationInternalCode", "orderable": false },
{ "data": "LocationName", "orderable": false },
etc....
我发布它是为了节省时间。非常失望,没有人再次回答我的问题string json = JsonConvert.SerializeObject(dataTableData);
return Json(json, JsonRequestBehavior.AllowGet);
"ajax":
{
"url": "@string.Format("{0}",Url.Content("~/Location/AjaxGetLocations"))",
"type": "POST",
"dataSrc": function (data) {
var json = JSON.parse(data);
return json["data"];
}
},
"columns": [
{ "data": "LocationID", "orderable": false, "visible": false },
{ "data": "LocationInternalCode", "orderable": false },
{ "data": "LocationName", "orderable": false },
etc....