在我的應用程序中,我將對象存儲到會話中,該會話被傳遞給Web服務以返回數據以顯示在表中。如果會話存在,則它不會要求用戶輸入新的數據。但是,如果用戶選擇一個名爲「新列表」的鏈接,則會話數據將被清除,並且用戶提示輸入新數據。c#mvc:RedirectToAction()和瀏覽器導航按鈕
在我的代碼,我已經定義了以下這樣一個錨:
<a href="@Url.Action("NewList", "Alert")"> New List</a>
將觸發此控制器操作:
public ActionResult NewList()
{
Session["new_list"] = "y";
return RedirectToAction("List");
}
然後繼續執行這個動作:
public ActionResult List()
{
if ((string)Session["new_list"] == "y")
{
//clear session variables, load fresh data from API
}else{
//display blank table. Ask user to input data to retrieve a list
}
....
}
現在,我遇到的問題是當用戶導航離開列表頁面,然後導航回wi th瀏覽器的後退按鈕,它仍然呼籲newlist
。在瀏覽器的歷史中,不是存儲List
,而是存儲newlist
,這導致會話變量清除。我能做些什麼來阻止這種情況的發生,或者是否有其他機制可以在c#mvc中使用,這可以幫助我實現預期的效果。
把它放入cookie中。 – CodingYoshi