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);

赤い巻き毛の線は消えましたが、それは私に見せました

"Undefined Double"

誰が理由を知っていますか?

ありがとう

4

2 に答える 2

1
decimal latitude = Convert.ToDecimal(Model.Latitude);
decimal longitude= Convert.ToDecimal(Model.Longitude);
于 2013-06-13T12:10:37.730 に答える
0

@Razor スコープの場合、 keyworkd を使用してサーバー側の値にアクセスする必要はありません。かみそりブロックを開いて変数を設定してみてください。次のことを試してください。

@{

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

}

それを表示するには、@かみそりの keyworkdを使用します。

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

ToString()double 型のメソッドを使用して、この値をフォーマットすることもできます。

<p>@latitude.ToString("0.000")</p>
于 2013-06-13T11:21:54.343 に答える