0
在用戶控制頁面Page_preinit事件沒有觸發。 給定的代碼波紋管:爲什麼UserControl Page_PreInit事件不會觸發?
protected void Page_PreInit(object Sender, EventArgs e)
{
if (!Page.User.Identity.IsAuthenticated && !Page.User.IsInRole("Admin"))
{
Response.Redirect("abcd/Index.aspx?Auth=Fail");
}
else
{
FormsIdentity id = (FormsIdentity)Page.User.Identity;
FormsAuthenticationTicket ticket = id.Ticket;
String[] userDatas = ticket.UserData.Split('|');
ViewState["Role"] = userDatas[0];
ViewState["Language"] = userDatas[2];
this.Page.Theme = userDatas[1];
}
Response.Cache.SetCacheability(HttpCacheability.NoCache);
Response.Cache.SetExpires(DateTime.Now.AddSeconds(-1));
Response.Cache.SetNoStore();
}
任何想法?
把你的設計頁面也放在 –
你的用戶控件上的'AutoEventWireup'屬性是如何設置的?在你的網頁上? –
不知道爲什麼這個問題是downvoted。 PreInit沒有被用戶控制解僱,特別是如果你花大部分時間在瀏覽頁面,這一點並不明顯。 – mac9416