地図コントロールから2つの値を取得して、コントローラにモデルを送り返そうとしています。コントローラがモデルの値を受け取るように、これらの値を隠し入力 'Html.hiddenfor()'に入れるのが最善の解決策であると考えました。asp.net mvc:隠し入力にjavascript浮動小数点数を取得
これは私のJavaScript
endDragDetails = function (e) {
alert("Event Info - start drag \n" + "Start Latitude/Longitude: " + e.entity.getLocation());
var locationx = e.entity.getLocation();
alert(locationx.latitude);
document.getElementById("longitude").value = parseFloat(locationx.longitude);
}
あるalertboxesはlocationx varに浮動小数点値がある私を見ます。私は浮動小数点数が実際に文字列である場合、parseFloat()関数で渡すことを試みました。経度のIDは確かに "経度"です、私はhtmlソースでそれを確認しました。
これは私が戻ってきてるすべてが0,0である私のCSHTML部分
@Html.HiddenFor(m => m.longitude);
です。 このソリューションでは何か不足していますか?
UPDATE @ Html.TextBoxFor(m => m.longitude)でhiddenforを変更すると、javascriptメソッドを実行した後にテキストボックスに経度が表示されます。ただし、コントローラに送信しない場合、値は0,0のままです。しかし、コントローラには、例えば、ファーストネームストリングのような他のすべての値が送られます。
返信いただきありがとうございます。私は問題を解決しました。それはNLである私のCurrentUICultureと関係がありました。私はそれをENに変更し、それは完全に動作します。 NLの浮動小数点数は、このような5,34のEN UIcultureで書かれています。このようなwrittingは5.34です。 UICultureはモデルに影響を与えませんでした。これは新しい課題です。 – BBQ