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 回答