2013-07-30 97 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 –

相关问题