我正在尝试保留 google.maps.Geocoder() 获得的地理位置数据。从javascript中,我将值设置为html中的(实际上)隐藏元素(工作正常):
document.getElementById("longitude").value = results[0].geometry.location.lng();
document.getElementById("latitude").value = results[0].geometry.location.lat();
从那里我想将值传递给控制器:
@Html.TextBoxFor(model => model.Longitude, new { id = "longitude", type = "number" })
@Html.TextBoxFor(model => model.Latitude, new { id = "latitude", type = "number"})
根据小数分隔符,我得到验证错误或经度和纬度的值未设置为模型。这两个属性都是long类型。
为什么 Asp.Net 不能自动解析这些值?我对 Asp.Net 很陌生,但我知道我可以:
- 编写我自己的 html-helper
- 将视图模型传递给我的控制器或
- 持久化字符串值
我应该选择哪种方式?
谢谢, 里科