我想根據用戶的角色重新引導用戶登錄。當我使用下面的代碼時,這些角色在調試時會變空 - 我懷疑是因爲他們還沒有完全登錄?我可能會攻擊錯誤的事件,有人能指引我走向正確的方向嗎?登錄重定向問題
<asp:Login ID="LoginUser" OnLoggedIn="Login1_LoggedIn" runat="server"
DestinationPageUrl="~/Login.aspx" EnableViewState="false"
RenderOuterTable="false">
<p>
<asp:Button ID="LoginButton" CssClass="submitButton" runat="server" Width="70"
CommandName="Login" Text="Log In"
ValidationGroup="LoginUserValidationGroup" />
</p>
</asp:login>
protected void Login1_LoggedIn(object sender, System.EventArgs e)
{
// Overrides ReturnUrl page parameter
//Response.Redirect(LoginUser.DestinationPageUrl);
if (User.IsInRole("Member"))
Response.Redirect("~/AskExpert/AskQuestion.aspx");
else if (User.IsInRole("Expert"))
Response.Redirect("~/Admin/Experts/ViewQuestions.aspx");
else if (User.IsInRole("Admin"))
Response.Redirect("~/Admin/AdminHome.aspx");
}
感謝你的回答是有道理的 - 我也注意到我的數據庫在開發/測試過程中發生了變化,用戶實際上並沒有擔任這個角色! – IrishChieftain
這些問題令人討厭,尤其是當您認爲某些代碼無法正常工作時,實際上可能有效:D – keyboardP
單挑:我必須在頁面加載方法中將代碼移至PostBack塊以使其起作用; - ) – IrishChieftain