showModalDialog 超过问题

a.aspx页面打开一个弹出模式对话框b.aspx。

a.aspx 页面页面代码:

   function SetPlay() {

            window.showModalDialog('SetAdvertisingTime.aspx?Rnd' + Math.random(), '', 'dialogWidth=300px;dialogHeight=180px;status=no;');

            window.location.reload();      

        }



<input type="button" onclick="SetPlay()" class="button" value="试试看" />

 a.aspx.cs 代码:

sb.Append("parent.parent.parent.parent.location.href='" + Request.ApplicationPath + "/Default.aspx'");

这个根据你自己框架的情况,找到你这个页面对登录页面的相对位置。

 /// <summary>

    ///  在Page_Load前执行

    /// </summary>

    /// <param name="e">系统变量</param>

    protected override void OnPreLoad(EventArgs e)

    {  

//验证session是否过期

        if (SessionOperate.getLoginName().Equals(""))

        {

            //Response.Write("<script>parent.location.href='"+Request.ApplicationPath + "/Default.aspx'</script>");

            System.Text.StringBuilder sb = new System.Text.StringBuilder();

            sb.Append("<script>");

            sb.Append("parent.parent.parent.parent.location.href='" + Request.ApplicationPath + "/Default.aspx'");

            sb.Append("</script>");

            Response.Write(sb.ToString());

			Response.End();

        }

    }

 b.aspx.cs代码

    /// <summary>

    /// 在Page_Load前执行

    /// </summary>

    /// <param name="e">系统变量</param>

    protected override void OnPreLoad(EventArgs e)

    {

        if (SessionOperate.getLoginName() == string.Empty)

        {

            Response.Write("<script>window.close();</script>");

            return;

        }

        base.OnPreLoad(e);

    }



    /// <summary>

    /// 重写基类方法初始化完成后事件,如果这个方法基类没有重写,就可以不管,

    /// 如果重写,这里要再重写将其覆盖。因为这方法自己写代码可能会有问题

    /// </summary>

    /// <param name="e">系统变量</param>

    protected override void OnInitComplete(EventArgs e)

    {



    }

 

这样超时就会返回登录页面。

 

你可能感兴趣的:(showModalDialog)