我有一个带有DBGeometry字段的MVC模型
[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)
{}
ConvertLatLonTodbgeography代码:
public static dbgeography ConvertLatLonTodbgeography(double longitude,double latitude)
{
var point = string.Format("POINT({1} {0})",latitude,longitude);
return dbgeography.FromText(point);
}
但是ModelState始终无效,因为LocationGps为null。如何通过视图为我的LocationGps参数正确设置值? 的概念是要有一张谷歌地图,从javascript(存储在纬度和经度字段中)获取坐标,然后正确设置我的LocationGps。我该怎么办?