我有一些代码在点击提交按钮时显示弹出窗口
$(document).ready(function() {
....
@if (TempData.ContainsKey("TripUpdateSuccess"))
{
@:alertify.set({ delay: 3000 });
@:alertify.success("Transport " + @(Model.BookingID) + " has been updated.");
TempData.Remove("TripUpdateSuccess");
}
}
当用户点击保存时,会发生提交,此弹出窗口显示(alertify.js) 然后用户点击后退按钮,此弹出窗口再次显示。 似乎后退按钮恢复ASP.NET MVC中TempData对象的状态。
我的任务是在按下后退按钮时不显示此弹出窗口。 如何做到这一点?
忘记说,提交重定向到此页面,这就是为什么后退按钮指向此页面。
[HttpPost]
public ActionResult TripUpdate(TripUpdateModel model)
{
....
// pseudo code
if (ok)
TempData["TripUpdateSuccess"] = true;
else if (TempData.ContainsKey("TripUpdateSuccess"))
TempData.Remove("TripUpdateSuccess");
}
答案 0 :(得分:0)
有什么问题?用户点击按钮时是否需要隐藏弹出窗口?
答案 1 :(得分:0)
根据您的评论:
“不知道它是怎么回事,但是当点击后退按钮时没有调用动作方法”
当您单击后退按钮而不是实际完成数据库的完整往返时,听起来您正在获取页面的缓存版本。基本上你需要禁止页面被浏览器缓存,这样你才能获得完整的往返。