2013-07-30 138 views
1

我有一個MVC應用程序的小問題。在瀏覽器中按回退時刪除TempData值asp.net mvc 3

我有保存的信息數據庫就像一個動作:

[HttpPost] 
public ActionResult Save() 
{ 
    // do something to save 
    // save message in TempData 
    TempData["Message"] = "Message"; 

    return RedirectToAction("Index"); 
} 

我顯示警報消息的顯示,如果一個項目保存與否。我分兩步做。

  1. 中的Site.Master

    <div id="message"><%=(TempData["Message"] as string)%></div> 
    
  2. 在JavaScript

    if($("#message").text().length) 
    { 
        alert $("#message").text(); 
    } 
    

節能項目後,我將被重定向到Index頁面,會顯示警告框。沒關係。

的問題是:如果我保存項目,並重定向到Index之後,我按backspace鍵或點擊瀏覽器的Back按鈕,警報仍顯示。

使用退格鍵或瀏覽器的後退按鈕返回時,我該如何銷燬TempData值?在這種情況下,我不想再顯示警報。

謝謝

+0

您可以在處理頁面的操作中從TempData中刪除該值嗎? –

+0

我這樣做,奇怪的是TempData在最後一次請求中被以某種方式保留下來。 –

回答

0

嘗試使用ViewBag或ViewData。

+0

然後呢?會再次發生警報。 –

+0

檢查此鏈接http://stackoverflow.com/questions/7993263/viewbag-viewdata-and-tempdata –

相關問題