Default.aspx是验证用户登陆的,如果验证成功,则跳到Forum.aspx,但要是用户直接查看Forum.aspx我必须要先提醒“必须先登陆”,然后跳到Default.aspx。“必须先登陆”这句话写在哪个事件里?

解决方案 »

  1.   

    应该写在Form_Load中,并且是在"if (!isPostBack())"之内。
      

  2.   

    把你代码片段copy上来研究研究吧
      

  3.   

    private void Page_Load(object sender, System.EventArgs e)事件里面有如下代码:if(!this.IsPostBack)
    {
        if(Session["UserName"]==null)
    {
    Response.Write("<script language=javascript>alert('您尚未登录!');转到首页script>");
    Response.Redirect("http://localhost/hcszbbs/Default.aspx");
    }
        else
    Page.RegisterStartupScript("","<script>alert('通过验证!');</script>");
    }
    但我为什么没有看到“您尚未登录”提示?
      

  4.   

    因为你使用了Response.Redirect("http://localhost/hcszbbs/Default.aspx");所以“您尚未登录”就不会弹出来而直接转到其他页去了!
    好象应该使用Javascript来做!
      

  5.   

    把你尚未登录写到http://localhost/hcszbbs/Default.aspx的pageload里可能会稍微好一点儿。
      

  6.   

    把这句话“Response.Redirect("http://localhost/hcszbbs/Default.aspx");”替换为“Server.Transfer("http://localhost/hcszbbs/Default.aspx");”试试
      

  7.   

    Response.Write("<script language=javascript>alert('您尚未登录!');转到首页script>");
    Response.Redirect("http://localhost/hcszbbs/Default.aspx");
    改为:
    Response.Write("<script>alert('您尚未登录!');window.window.location.href='Default.aspx';</script>");
    return;
    应该可以了