2012-12-10 104 views
0

我試圖堅持google.maps.Geocoder()獲取的地理位置數據。 從Javascript我設定的值到HTML中的(實際上)隱藏的元素(這是工作的罰款):Asp.Net:將字符串轉換爲長

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"}) 

根據在十進制分隔符上,我得到一個驗證錯誤,或經度和緯度值沒有設置爲模型。這兩個屬性的類型爲

爲什麼Asp.Net不能自動解析這些值? 我很新的Asp.Net,但我知道我可以其他:

  • 寫我自己的HTML輔助
  • 通過視圖模型在我的控制器或
  • 堅持字符串值

我應該選擇哪種方式?

謝謝,波多黎各

回答

1

你得到錯誤,因爲long店大64位整數(它實際上Int64幕後),而不是浮點值。

如果您希望代碼使用浮點值,則需要使用類似floatdouble的東西。

+0

啊......有時候我沒有看到樹木的木頭:-)當然,我需要使用雙重替代...對不起,我的愚蠢:-) – core