Удалить значение TempData при нажатии «Назад» в браузере asp.net mvc 3

У меня небольшая проблема с приложением MVC.

У меня есть действие, которое сохраняет информацию в базе данных, например:

[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 при возврате с помощью клавиши возврата или кнопки «Назад» в браузере? В этом случае я больше не хочу отображать предупреждение.

Спасибо


person Snake Eyes    schedule 30.07.2013    source источник
comment
Не могли бы вы удалить значение из TempData в действии, которое обрабатывает страницу?   -  person Kevin    schedule 30.07.2013
comment
Я так и сделал, странно, что TempData как-то сохраняется в последнем запросе.   -  person Snake Eyes    schedule 30.07.2013


Ответы (1)


попробуйте использовать ViewBag или ViewData.

person Jed I    schedule 30.07.2013
comment
А потом ? произойдет это предупреждение снова. - person Snake Eyes; 30.07.2013
comment
проверьте эту ссылку stackoverflow.com/questions/7993263/ - person Jed I; 30.07.2013