在我的header.ascx.cs文件中写了段
private void Page_Load(object sender, System.EventArgs e)
{

if(Session["Name"].ToString()=="")
{
Server.Transfer("default.aspx");
}
// 用户未登陆
// 在此处放置用户代码以初始化页面
}
怎么好像不执行阿,我把代码挪到header.ascx中才执行,而在header.ascx.cs中却好像不管用,
请问各位大虾,这是怎么回事?

解决方案 »

  1.   

    看看你的
    #region Web 窗体设计器生成的代码
    override protected void OnInit(EventArgs e)
    {
    //
    // CODEGEN: 该调用是 ASP.NET Web 窗体设计器所必需的。
    //
    InitializeComponent();
    base.OnInit(e);
    }

    /// <summary>
    /// 设计器支持所需的方法 - 不要使用代码编辑器
    /// 修改此方法的内容。
    /// </summary>
    private void InitializeComponent()
    {
    this.Load += new System.EventHandler(this.Page_Load); //看看有没有这句话 }
    #endregion
      

  2.   

    重新编译一下再试试修改一下上面
    private void Page_Load(object sender, System.EventArgs e)
    {

    if(Session["Name"].ToString()=="" || Session["Name"] == null )
    {
    Server.Transfer("default.aspx");
    }
    // 用户未登陆
    // 在此处放置用户代码以初始化页面
    }
      

  3.   

    那你就直接写一个:
    private void Page_Load(object sender, System.EventArgs e)
    {
    Response.Redirect("http://www.163.com")
    }
    看看会不会执行,如果能执行,那就是你的Session()的问题.