我有一個類繼承我的所有網頁來檢查會話超時,然後重定向到登錄頁面這裏是代碼地址跳過第二個查詢參數在HttpContext.Current.Request.Url.AbsoluteUri
public class WMUserBase:System.Web.UI.Page
{
public WMUserBase()
{
}
protected override void OnLoad(System.EventArgs e)
{
CheckSecurity();
base.OnLoad(e);
}
public virtual void CheckSecurity()
{
if (Session["WMuserId"] == null || Session["WMuserId"].ToString() == "")
{
Response.Redirect("Login.aspx?ReturnUrl=" + HttpContext.Current.Request.Url.AbsoluteUri);
}
}
}
每頁面繼承這個類,如果會話超時,然後頁被重定向到登錄頁面,現在我用Response.Redirect("Login.aspx?ReturnUrl=" + HttpContext.Current.Request.Url.AbsoluteUri);
但如果我的查詢字符串在AbsoluteUril用於如http://localhost/mala3ibnav2/WeeklyManager/TeamSetup.aspx?Gid=MTQ=&Mid=Mg==
兩個參數&中秋節是Mg ==有時跳過並非總是如此。
這裏是登錄頁面登錄按鈕單擊事件的代碼
if(string.IsNullOrEmpty(ReturnUrl))
{
Response.Redirect("Default.aspx");
}
else
{
Response.Redirect(ReturnUrl);
}
現在爲什麼第二個參數的查詢字符串跳過,還有什麼我應該是用HttpContext.Current.Request.Url.AbsoluteUri
代替
您需要編碼URL,尤其是&符號標誌。如果你檢查網址,&不應該在那裏找到,但編碼 – codingbiz
感謝您的幫助,讓我試試看 – skhurams