我需要从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变量中捕获。
现在我需要捕获服务器端的弹出关闭事件。我可以在客户端捕获事件,但我需要服务器端的事件,以便我可以从隐藏字段中获取值并处理它。
我怎样才能做到这一点?
答案 0 :(得分:0)
我找到了一个解决这个问题的线索。希望这与你想要的类似: Javascript confirm message problem
答案 1 :(得分:0)
我建议你像这样在ShowDialog上编写自己的函数:
showNotePopup('NotePopup', title, closeNotePopup);
NotePopup - 弹出窗口的ID; showNotePopup应该描述你想要在弹出窗口中看到的内容,它将如何关闭; closeNotePopup函数绑定到弹出窗口关闭,在其中你可以做例如post-request,这样你就可以在弹出窗口关闭时捕获服务器。