挂在内部时,不会触发TimerTick事件!

时间:2018-08-09 04:31:57

标签: c# asp.net timeout ispostback

asp.net的新手。

我的动机是

“必须在一组预定义的时间间隔后将用户带到某个页面。 会话不应该使用。“

因此,我认为可以使用Timer,并且可以在timer tick事件中使用Server.Redirect。该计时器位于用户控制页面内部,该页面在所有页面中都相同。

    protected void Page_Load(object sender, EventArgs e)
    {
        if (!IsPostBack)
        {
            redirectTimer.Interval = 20000;
            redirectTimer.Tick += new EventHandler<EventArgs>(redirectTimer_Tick);                
        }
    }

    void redirectTimer_Tick(object sender, EventArgs e)
    {
        Server.Transfer("~/SomePageGoesHere.aspx");
    }

情况2:

    protected void Page_Load(object sender, EventArgs e)
    {
            redirectTimer.Interval = 20000;
            redirectTimer.Tick += new EventHandler<EventArgs>(redirectTimer_Tick);                            
    }

    void redirectTimer_Tick(object sender, EventArgs e)
    {
        Server.Transfer("~/SomePageGoesHere.aspx");
    }

但是在这种情况下,它起作用了。

我的问题是

  1. “!IsPostBack”是否与计时器有关? (情况1和2)。

  2. 除了此计时器,会话或cookie之外,是否还有其他更好的方法可用。等等?

有人可以在这里分享一些输入吗?

0 个答案:

没有答案