2013-06-13 99 views
1

我已經在我的數據庫中定義了緯度和經度。兩者都是Float數據類型。我想在地圖上顯示地理信息。我的問題是當我使用@Model(我使用Asp.net MVC和Razor語法)將這些信息傳遞給可變參數。代碼是錯誤來自浮點數據類型

var latitude = @Model.Latitude; 
var longitude = @Model.Longitude; 

它向我展示了每條線後面的一條捲曲的紅線。當我把鼠標懸停在那裏時,它就像

Double?Dinner.Latitude 
Double?Dinner.Longitude 

我對此沒有任何想法。然後我試着投了數據類型一樣

var latitude = (double)(@Model.Latitude); 
var latitude = (double)(@Model.Longitude); 

紅色的花線也dispear但它給我

"Undefined Double" 

誰知道爲什麼嗎?

感謝

+0

不是應該'變種緯度= Model.Latitude'?我不認爲需要'@'符號 – codingbiz

回答

0

當你在剃刀的範圍,你不需要使用@ keyworkd訪問服務器端的價值。只是嘗試打開剃刀塊,並設置變量,試一下這個:

@{ 

    var latitude = (double)Model.Latitude; 
    var longitude= (double)Model.Longitude; 

} 

然後表現出來,用@剃刀keyworkd:

<p>@latitude</p> 
<p>@longitude</p> 

你也可以格式化這個值使用ToString()從雙類型的方法:

<p>@latitude.ToString("0.000")</p> 
1
decimal latitude = Convert.ToDecimal(Model.Latitude); 
decimal longitude= Convert.ToDecimal(Model.Longitude);