0

現在、新しい起動スクリプトを登録する前に、いくつかのこと (セッション変数の変更を含む) を行う 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>"));
}
4

2 に答える 2

2

AjaxControlToolkit のモーダル ポップアップは、このような場合にうまく機能します。

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

まだasp.netフレームワーク内にあるため、サーバー側のすべての利点を引き続き利用でき、いつでもその中にユーザーコントロールをポップして、別の「ページ」として扱うことができます

クライアント側からヒットできるようにしたい場合は、オブジェクトの cclientidmode を静的または予測可能に保つことを忘れないでください。

于 2013-05-29T12:26:06.853 に答える
0

Do it with javascript. Do not open a new Window, just set a div in front and change its content.

The easiest would be, to use Jquery Dialog:

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

于 2013-05-29T11:42:22.090 に答える