代码如下
Private Sub Page_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
        Timer1.Enabled = True
        Timer1.Interval = 5000    End Sub    Private Sub Timer1_Elapsed(ByVal sender As System.Object, ByVal e As System.Timers.ElapsedEventArgs) Handles Timer1.Elapsed
        Timer1.Enabled = False
        Server.Transfer("WebForm2.aspx")
    End Sub    Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
        Server.Transfer("WebForm2.aspx")
    End Sub
End Class
上面代码中我用按扭就能跳转到下个页面,为什么在timer里面不能跳转呢
我用了Response.Redirect("WebForm2.aspx")也没有用
这是为什么啊,急救啊!~

解决方案 »

  1.   

    lz用的是哪个Timer?  asp.net里可没有Timer控件,是线程Timer吗?估计这个时间就没触发,跟Server.Transfer没关系,在 Timer1.Enabled = False这里设置个断点调试一下就知道了
      

  2.   

    要实现类似的功能,配合javascript可以实现:如果只要页面跳转这样的简单功能,可以这样写:
    ....
    <script language="javascript">
    function test(){
    window.location.href = "webform1.aspx";
    }
    </script>
    </HEAD>
    <body MS_POSITIONING="GridLayout">
    ......
    **********************************************************
    private void Page_Load(object sender, System.EventArgs e)
    {
    // 在此处放置用户代码以初始化页面
               Page.RegisterStartupScript("timer","<script language='javascript'>window.setTimeout('test()',1000);</script>");
    }
      

  3.   

    客户端请求后是与服务器断开的,转向给谁看?服务器不会主动向客户端发任何东西的。即使转向你也看不到。如果要在服务器执行定时任务是可以的,但不要与客户端打交道,你可以用js的 setInterval实现
      

  4.   

    如果还希望在一段时候后回传服务器,执行一些后台代码,那么可以这样写:.............
    <script language="javascript">
    function test()
    {
    document.getElementById("Button1").click();
    }
    </script>
    </HEAD>
    <body MS_POSITIONING="GridLayout">
    <form id="Form1" method="post" runat="server">
    <INPUT id="Button1" style="DISPLAY:none" type="button" value="Button" name="Button1" runat="server">
    ...........

    ********************************************************
    private void Page_Load(object sender, System.EventArgs e)
    {
    // 在此处放置用户代码以初始化页面
               Page.RegisterStartupScript("timer","<script language='javascript'>window.setTimeout('test()',1000);</script>");
    }        private void Button1_ServerClick(object sender, System.EventArgs e)
            {
                //执行你的后台代码
            }
      

  5.   

    我最初想的是在timer自动刷新页面的,不想用网页<meta>刷新,可是当我调试的时候发现在timer里面好想什么都完成不了,只能执行数据库查询!有没有什么好的方法强制加载页面的(不用javascript)
      

  6.   

    Eddie005(♂) 暴赱 『零零伍』(︶︵︶)  你好,首先谢谢你!
    你的方法是可行的,但是要手动触发,我要的是服务器定时自动让画面跳转,不知道有没有解决的方法?