0

aspx.cs ページからモーダル ポップアップを表示する必要があります。ポップアップが開く前に、クエリ文字列を介してポップアップに ID を渡す必要があるため、サーバー側からポップアップを呼び出す必要があります。

これは、ポップアップを表示するための私のコードです。

 protected void btnNote_Click(object sender, EventArgs e)
    {
        string queryStringParam = "some text"; // some server code here to get the string ready;            
        ScriptManager.RegisterStartupScript(this, this.GetType(), "popup", "openNotePopup('"+ queryStringParam  +"');", true);           
    }

これは、パラメーターを取得してモーダル ポップアップを起動するための JavaScript です。

function openNotePopup(var param) 
{
    var noteResult = window.showModalDialog("AddEditNote.aspx?Note=" + param, "Add/Edit Notes", 'center:yes; dialogWidth:600px; dialogHeight:500px;');
    document.getElementById("hidden_NoteText").value = noteResult;
}

ポップアップが閉じられたら、文字列値を window.returnValue として渡します。これは、クライアント側の noteResult 変数に取り込まれます。

ここで、サーバー側でポップアップ クローズ イベントをキャプチャする必要があります。クライアント側でイベントをキャプチャできますが、隠しフィールドから値を取得して処理できるように、サーバー側でイベントが必要です。

どうすればこれを達成できますか?

4

2 に答える 2

0

この問題に取り組んでいるように見えるスレッドを見つけました。うまくいけば、これはあなたが探していたものと似たものです: Javascript 確認メッセージの問題

于 2012-12-12T08:12:10.977 に答える
0

次のように ShowDialog に独自の関数を記述することをお勧めします。

showNotePopup('NotePopup', title, closeNotePopup);

NotePopup - ポップアップの ID; showNotePopup は、ポップアップで表示したい内容、閉じる方法を説明する必要があります。ポップアップのクローズにバインドする closeNotePopup 関数とその内部では、たとえばポストリクエストを作成できます。これにより、ポップアップが閉じているときにサーバーでキャッチできます。

于 2012-12-12T08:16:24.203 に答える