VB.NETにASP.NETアプリケーションがあります。私のページにはJavascript関数があり、別の関数があります。onをレンダリングして送信するには、このスクリプトが必要です。mypage.aspxcallback.aspxIFramemypage.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、関数の代わりに (パラメーターなしで)を使用すると、 が受信されたときと別のときに がsub3 回実行されます (接続は https であり、 Javascriptを効率的にデバッグできません)。page_loadIFrame
私はクロスサイト スクリプティングとコード ナゲットが苦手です。おそらく本当に些細なことですが、この問題を解決する方法がわかりません。誰か?