そのため、asp.net ページのページ読み込み時に位置座標を記録しようとしています。問題は、ページが完全に読み込まれるまで隠しフィールドの値が存在しないことです。サーバーがまだサービスを提供しているため、レンダリングなどの後で無駄になることを期待して、アンロードイベントでキャプチャしようとしました。ページロードイベントでデータをデータベースに書き込みたいだけです。ユーザーがボタンをクリックしてデータを記録する必要はありませんが、ユーザーからの余分な入力が必要になることはありません。
座標コード JS を取得します。
navigator.geolocation.getCurrentPosition(
function showPosition(position) {
$("[id*=hdnLatitude]").val(position.coords.latitude);
$("[id*=hdnLongitude]").val(position.coords.longitude);
},
function (error) {
}, {
enableHighAccuracy: true
, timeout: 5000
}
);
ページ読み込みイベント ASP.Net:
Protected Sub Page_Load(sender As Object, e As EventArgs) Handles Me.Load
'write to my db
End Sub
したがって、ページの読み込み時にデータベースに書き込む方法は知っていますが、上で述べたように、隠しフィールドにはまだデータがありません。私の質問は、ページの読み込み前にデータを取得する方法です。まだクライアントにサービスを提供していないため、これは不可能と思われますが、ページの読み込み時にポストバックまたは何かを強制して、それまでに読み込まれるため、これらの値を取得できますか? 私は本当にユーザーにページをフラッシュさせたくありません。つまり、2回ロードします。これが理にかなっていることを願っています。前もって感謝します。