Duk*_*hoo 6 asp.net login-control
HTML就像:
<asp:Login ID="LoginUser" runat="server" EnableViewState="false" RenderOuterTable="false" OnLoggedIn="LoginUser_LoggedIn"
OnLoginError="LoginUser_LoginError">
</asp:Login>
Run Code Online (Sandbox Code Playgroud)
在LoginUser_LoggedIn事件我正在设置目标URL,如:
LoginUser.DestinationPageUrl = "~/mycustompage.aspx";
FormsAuthentication.RedirectFromLoginPage(LoginUser.UserName, true);
Run Code Online (Sandbox Code Playgroud)
这里当ReturnUrl页面URL中没有,那么它将重定向到"〜/ mycustompage.aspx"页面,但如果在URL中指定了任何ReturnUrl,则它将重定向到ReturnUrl页面.
无论ReturnUrl是否存在,我总是想重定向到"〜/ mycustompage.aspx"页面.怎么做到这一点?
非常感谢提前!
DestinationPageUrl 是登录后的默认目标页面。
?ReturnUrl比DestinationPageUrl这样强,如果设置它就赢了。
Response.RedirectinLoginUser_LoggedIn比ReturnUrlso强,如果你想覆盖ReturnUrl 你必须使用这个代码:
void LoginUser_LoggedIn(Object sender, EventArgs e)
{
Response.Redirect("~/mycustompage.aspx");
....
}
Run Code Online (Sandbox Code Playgroud)
DestinationPageUrl 应该在aspx页面中设置
<asp:Login DestinationPageUrl="~/mycustompage.aspx" ... />
Run Code Online (Sandbox Code Playgroud)
或在 Page_Load事件正常工作。
void PageLoad(Object sender, EventArgs e)
{
LoginUser.DestinationPageUrl = "~/mycustompage.aspx";
....
}
Run Code Online (Sandbox Code Playgroud)
如果您必须在登录后更改目标页面(例如,如果页面根据用户或用户的角色而变化),则必须使用Server.trasfer()ore Response.Redirect()。
void LoginUser_LoggedIn(Object sender, EventArgs e)
{
Response.Redirect("~/mycustompage.aspx");
....
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
3347 次 |
| 最近记录: |