我試圖製作一個腳本來檢查用戶在加入團隊之前是否具有適當的年齡。如果用戶年齡與團隊年齡不符,那麼腳本應停在此頁面,並要求用戶單擊「BackToLastPageBtn」按鈕返回上一頁,該頁面使用名爲「BackToLastPage」的變量,該變量獲取其來自'Session [「currentUrl」]'的值,在Page_load被重置之前。 問題是,單擊按鈕時它告訴我該值爲空。 我不知道爲什麼它是空的,當我將值添加到「BackToLastPage」,在重置會話[「currentUrl」]之前。我希望有人能告訴我,引導我朝着正確的方向前進。從會話變量定義變量並將其添加到變量
代碼隱藏 - 腳本
public partial class JoinTeam : System.Web.UI.Page
{
//Defining Go back variable
private string BackToLastPage;
protected void Page_Load(object sender, EventArgs e)
{
int BrugerId = Convert.ToInt32(Session["BrugerId"]);
int TeamId = Convert.ToInt32(Request.QueryString["HoldId"]);
//Adding value to go back variable from sessionurl
BackToLastPage = (string)Session["CurrentUrl"];
//Resets sessionurl.
Session["CurrentUrl"] = null;
if (Session["brugerId"] != null)
{
if (ClassSheet.CheckIfUserAgeMatchTeamAge(BrugerId, TeamId))
{
ClassSheet.JoinATeam(BrugerId, TeamId);
if (BackToLastPage != null)
{
//Uses the new savedUrl variable to go back to last page.
Response.Redirect(BackToLastPage);
}
else
{
Response.Redirect("Default.aspx");
}
}
else
{
AgeNotOk.Text = "Du har ikke den rigtige alder til dette hold";
}
}
else
{
//Not saving last page. Need to find solution.
Response.Redirect("Login.aspx");
}
}
//NOT WORKING...
protected void BackToLastPageBtn_Click(object sender, EventArgs e)
{
//Go back button
//Response.Write(BackToLastPage);
Response.Redirect(BackToLastPage);
}
}
我要補充,我試圖註釋掉整個腳本,並添加「的Response.Write((字符串)會議[」 CURRENTURL「])在Button_Click方法,它寫出來的在頁面右邊的URL,所以我覺得它與pageLoad上的新變量「BackToLastPage」有關,但我不知道如何解決它,因爲它對我來說似乎是邏輯的,就像我做的那樣。 – chmodder
按鈕點擊是否可能通過傳遞頁面加載事件?試着改變你的私有變量爲:private string BackToLastPage {get {return if(Session [「CurrentUrl」] == null)return「」else return Session [「CurrentUrl」]。ToString(); }} – user2453734
現在我只是得到一個網頁說:對象移動到**這裏**。 – chmodder