ASP.NET:每隔5分钟从代码后面调用弹出窗口

时间:2013-12-02 05:25:46

标签: javascript asp.net timer popup

我是ASP.NET的新手

我想实现每5分钟调用弹出窗口的页面。

在app_code中,我实现了一个调用弹出窗口的类。

我想每隔5分钟调用一次popup,所以每次都用随机方法更改RegisterStartupScript的键。

public class Ad
{ 

...blah blah...


    public static void CallPopup(Page pageInstance)
    {
        Random r = new Random();
        string key = "popupScript" + r.Next();

        ClientScriptManager scriptManager = pageInstance.ClientScript;
        string script = "<script>window.open('../PopUp.aspx', 'popup_window',
                        'width=400, height=300, scrollbars=yes');</script>";
        scriptManager.RegisterStartupScript(pageInstance.GetType(), key, script);
    }

...blah blah...
}

并在像这样的.aspx.cs中使用它

public partial class WebAdPage: System.Web.UI.Page
{
..blah blah..

    protected void Timer1_Tick(object sender, EventArgs e)
    {
        adObj.CallPopup(this);
    }

.. blah blah ..
}

但是调用弹出窗口只是第一次工作。

它不会每5分钟工作一次。

我的代码出了什么问题?

请给我一些建议或链接。

提前谢谢。

2 个答案:

答案 0 :(得分:1)

请查看以下内容:参考:http://forums.asp.net/t/1563462.aspx

function OpenWindow()

{

// write open popup window code.

}

setinterval("OpenWindow();", 300000);

it will open window every 5 min


and  on popup window you can also call the js function 


function CloseWindow()

{

// write self close.

}

setTimeout("CloseWindow();", 60000);  // one minute.

答案 1 :(得分:0)

我为自己找到了解决方案。

此问题的关键是在何处添加脚本。

在我的情况下,当更新面板自行更新时,请调用弹出窗口。

要实现此功能,请将脚本附加到updatePanel部件。

如何做到这一点如下。

使用UpdatePanel控件设置参数,并将UpdatePanel控件的类型设置为RegisterStartupScript。

string script = "<script>window.open('../PopUp.aspx', 'popup_window',
                'width=400, height=300, scrollbars=yes');</script>";
ScriptManager.RegisterStartupScript(updateObj, updateObj.GetType(), key, script, false); 

它会很好用。

http://helpondesk.blogspot.kr/2008/11/how-to-register-client-script-inside.html