从父窗口的按钮单击事件中的模态弹出窗口获取值

时间:2012-12-12 07:34:33

标签: javascript asp.net modal-dialog

我需要从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变量中捕获。

现在我需要捕获服务器端的弹出关闭事件。我可以在客户端捕获事件,但我需要服务器端的事件,以便我可以从隐藏字段中获取值并处理它。

我怎样才能做到这一点?

2 个答案:

答案 0 :(得分:0)

我找到了一个解决这个问题的线索。希望这与你想要的类似: Javascript confirm message problem

答案 1 :(得分:0)

我建议你像这样在ShowDialog上编写自己的函数:

showNotePopup('NotePopup', title, closeNotePopup);

NotePopup - 弹出窗口的ID; showNotePopup应该描述你想要在弹出窗口中看到的内容,它将如何关闭; closeNotePopup函数绑定到弹出窗口关闭,在其中你可以做例如post-request,这样你就可以在弹出窗口关闭时捕获服务器。