私の Web サイトでは、ユーザーをセッション タイムアウト前と同じページにリダイレクトしたいと考えています。
URLをクエリ文字列で送信してみましたが、URLにも「&」が含まれていたためうまくいきませんでした。
私の URL は:Default.aspx?FileID=23&TabID=3
でした。
クエリ文字列のみがDefault.aspx?FileID=23
あり、TabID は省略されました。また、入手する方法はありますか?クエリ文字列を使用しない場合、他の方法はありますか?
私の Web サイトでは、ユーザーをセッション タイムアウト前と同じページにリダイレクトしたいと考えています。
URLをクエリ文字列で送信してみましたが、URLにも「&」が含まれていたためうまくいきませんでした。
私の URL は:Default.aspx?FileID=23&TabID=3
でした。
クエリ文字列のみがDefault.aspx?FileID=23
あり、TabID は省略されました。また、入手する方法はありますか?クエリ文字列を使用しない場合、他の方法はありますか?
フォーム認証を使用している場合は、セッションのタイムアウト時にこれを試してください FormsAuthentication.RedirectToLoginPage(); で十分ですが、ログイン以外のページにリダイレクトしたい場合は、以下のカスタム行を使用してください。Server.UrlEncode を使用して、クエリ文字列で & を許可します
public static void DisposeAndLogout()
{
HttpContext context = HttpContext.Current;
try
{
FormsAuthentication.SignOut();
FormsAuthentication.Initialize();
Roles.DeleteCookie();
context.Session.Clear();
}
catch (Exception ex)
{
ErrorHandler.HandleException(ex);
}
finally
{
FormsAuthentication.RedirectToLoginPage();
//or can send to some other page
string OriginalUrl = context.Request.RawUrl;
string LoginPageUrl = @"~\Login.aspx";
context.Response.Redirect(String.Format("{0}?ReturnUrl={1}", LoginPageUrl, context.Server.UrlEncode(OriginalUrl)));
}
}
FormsAuthentication を使用している場合:
ログイン:
FormsAuthentication.RedirectFromLoginPage()
http://msdn.microsoft.com/en-us/library/ka5ffkce.aspx
ログアウト:
FormsAuthentication.SignOut();
FormsAuthentication.RedirectToLoginPage();
http://msdn.microsoft.com/en-us/library/system.web.security.formsauthentication.signout.aspx