2012-12-05 54 views
1

我有3個.ASPX頁面。他們是Page_Load不會在ASP.NET WebForms中觸發

`Login.aspx` 
`Agent.aspx` and 
`Scheduler.aspx` 

在用戶輸入憑據後,他根據他的角色從登錄頁面指向Agent.aspx或Scheduler.aspx。在每個頁面的Page_Load()內部,我再次檢查用戶的角色。如果標準不匹配,他會重定向到Login.aspx。

,當我瀏覽這樣的Page_Load()被稱爲:

登錄 - >代理如果我註銷從代理頁我重定向到登錄頁面,但現在,如果我進入代理頁Page_Load()代理中的URL。 aspx未加載。 什麼是錯誤?

登錄頁面的aspx ------

public partial class LOGIN : System.Web.UI.Page 
{ 
    protected void Page_Load(object sender, EventArgs e) 
    { 
     txtUserName.Focus(); 
    } 

    protected void btnLogin_Click(object sender, EventArgs e) 

    { 
     bool validLogin = false; 

    LoginHandler loginhandler = new LoginHandler(); 

    validLogin = loginhandler.IsValidUser(txtUserName.Text.Trim(),      txtPassword.Text.Trim()); 
    int RoleId = loginhandler.FindRoleId(txtUserName.Text.Trim(), txtPassword.Text.Trim()); 
    if (validLogin) 
    {    
     FormsAuthentication.RedirectFromLoginPage(txtUserName.Text.Trim(), false); 
     if (RoleId == 1) 
      Response.Redirect(Constant.GoToAgentView); 
     if (RoleId == 2) 
      Response.Redirect(Constant.GoToSchedulerView); 
    } 
    else 
     Server.Transfer(Constant.GoLoginPage); 


    } 
} 

代理ASPX ---

public partial class Agent : System.Web.UI.Page 
    { 
     CSBuss.Agent.AgentHandler agent = new CSBuss.Agent.AgentHandler(); 
     LoginHandler login = new LoginHandler(); 

     protected void Page_Load(object sender, EventArgs e) 

     { 

      string rolename = login.FindRoleName(User.Identity.Name); 
      if (string.Compare(rolename, "Agent", false) == 0) 
      { 
       SuccessPanel.Visible = false; 
       DisplayPanel.Visible = true; 
       txtName.Focus(); 
       if (!IsPostBack) 
       { 
        DropDownList1.DataSource = agent.GetCabType(); 
        DropDownList1.DataTextField = Constant.DisplayCabType; // CabType to be displayed in the list items 
        DropDownList1.DataValueField = Constant.DisplayCabID; // CabId of the items displayed 
        DropDownList1.DataBind(); 

       } 
      } 
      else 
       Server.Transfer(Constant.GoLoginPage); 

     } 
    } 

PS:香港專業教育學院在網絡設置Enableoutputcaching爲false和身份冒充假。配置文件

回答

2

您是否有額外的Agent.aspx安全配置?看來,asp.net管道不會執行Page_Load,因爲您的用戶沒有通過身份驗證來訪問此頁面。

+0

Yes..agent.aspx被在另一文件夾中的我已經創建的web配置文件爲它<結構>