使用ASP.Net按钮弹出单击弹出窗口阻止程序未阻止

时间:2013-05-29 11:36:46

标签: c# javascript asp.net

我目前有一个ASP.Net按钮单击事件,在注册新的启动脚本之前执行一些操作(包括更改会话变量)当用户单击按钮时,它们的弹出窗口阻止程序会阻止弹出窗口虽然它是技术上由用户事件触发的;我认为浏览器不会这样看。

protected void ContinueButton_Click(object sender, EventArgs e)
{
    if (agreement.Checked)
    {
        string eid = Request.QueryString["eid"];
        Session["TestAgreement"] = "Agreed";
        openNewWindow("Exams/exam.aspx?id=" + courseCode, "height=760, width=1000, status=yes, toolbar=no, menubar=no, location=no, scrollbars=1");
    }          
}
private void openNewWindow(string url, string parameters)
{
    ClientScript.RegisterStartupScript(this.GetType(), "Exam", String.Format("<script>window.open('" + url + "', '', '" + parameters + "');</script>"));
}

2 个答案:

答案 0 :(得分:2)

AjaxControlToolkit的模态弹出窗口可以很好地处理这类事情。

http://www.asp.net/ajaxLibrary/AjaxControlToolkitSampleSite/ModalPopup/ModalPopup.aspx

它仍然在asp.net框架内,所以你仍然可以获得所有服务器端的优点,并且你总是可以在其中弹出一个用户控件,这样你就可以将它作为一个单独的页面来对待&#34;

如果您希望能够从客户端点击它们,请记住将对象的cclientidmode保持为静态或可预测。

答案 1 :(得分:0)

用javascript做。 不要打开一个新窗口,只需在前面设置一个div并更改其内容。

最简单的方法是使用Jquery Dialog:

http://api.jqueryui.com/dialog/