VB.NETにASP.NETアプリケーションがあります。私のページにはJavascript関数があり、別の関数があります。onをレンダリングして送信するには、このスクリプトが必要です。mypage.aspx
callback.aspx
IFrame
mypage.aspx
送信ボタンをクリックすると:
<asp:Button ID="subbtn" Name="Submit" OnClientClick="onsubmit_action();" runat="server" />
このスクリプトが実行されます。iframeId
は次の id ですIFrame
。
function onsubmit_action() {
submitPage('iframeId');
}
(検証または成功)の応答がファイルIFrame
に送信されcallback.aspx
ます。これは、ファイル内のコールバック関数を呼び出すクロスサイト スクリプティングによって発生すると思います。callback.aspx
function callback()
{
parent.pagecallback_success('<%=Request.QueryString("Id")%>');
}
で関数を呼び出すmypage.aspx
function pagecallback_success(ref_id) {
var Url = "mypage.aspx?";
Url += "id=" + id;
window.location.href = Url;
}
スクリプトは期待どおりに機能します。ここで、サーバー関数を呼び出したいと思います
Protected Function Store(ByVal id As String) As Boolean
変数をmypage.aspx.vb
渡しますid
:
function hostedpagecallback_success(id) {
var Url = "mypage.aspx?";
Url += "id=" + id;
window.location.href = Url;
"<%= Store(id) %>"
}
問題は、コンパイラid
がサーバー側の関数と見なし、コンパイル エラーが発生することです。ただしsub
、関数の代わりに (パラメーターなしで)を使用すると、 が受信されたときと別のときに がsub
3 回実行されます (接続は https であり、 Javascriptを効率的にデバッグできません)。page_load
IFrame
私はクロスサイト スクリプティングとコード ナゲットが苦手です。おそらく本当に些細なことですが、この問題を解決する方法がわかりません。誰か?