私はVBコードの中でパラメータを使用する関数を持っており、フロントエンドがgoogle-mapsにマーカーを置くために使用するためにdatatable
を出力します。正面から、ユーザーが入力する変数を送信する必要があります。json.parseを通してaspに変数を渡します。
Javascriptを疑似:
if (a = true){
var varName = inputBox.value;
var passer1 = chkCondition1();
var passer2 = chkCondition2();
if (passer1 == true && passer2 == true) {
Coordinates = JSON.parse('<%=ConvertTabletoString(varName) %>');
}
else {
//do other stuff
}
私はエラーを取得しています:
Error 2 'varName' is not declared. It may be inaccessible due to its protection level.
私はここで何をすべきかわかりません。これを回避する方法はありますか?
'<%= ConvertTableto ... blabla ...%>'の中にはVBでサーバ側が実行されているので、javascriptに存在するvarNameについては何も知らない。 – James
Gotcha。だから私はその変数をバックエンドに渡さなければならないだろう。私は隠されたフィールドでそれを行う方法を見て覚えているが、それはハッキーを感じる、それを行うために受け入れられた方法ですか? – GCQ
mvcの背景からウェブフォームに来る私はまた、隠されたフィールドが奇妙なことをする方法を発見したが、それは私が思うにはかなり受け入れられる。場合によっては、あなたのjavascriptからAJAX呼び出しを使用する方が良いかもしれませんが、それは異なります。隠されたフィールドはあなたがそれを設定した後にサーバー側から読み取られる必要があるでしょう。だから、それはどのように解雇されるのでしょうか?あなたはおそらくあなたのページ上に 'hidden: 'ボタンを必要とするでしょう。あなたのサーバー側のクリックイベントで隠しフィールドを読み込み、次にjavascriptがレスポンスを処理する必要があるでしょうか?だからええ、AJAXの呼び出しは時々簡単になる可能性があります。 – James