我想在添加用户时显示警报消息。它会顺利发生,但是当我从另一个动作中按下浏览器的后退箭头时,它仍然显示警报消息。当我点击另一个动作的箭头时Tempdata没有被清除?
//this is my partial view
<div class="row" id="alerts">
<div class="col-lg-12">
@if (TempData["Success"] != null)
{
<div class="alert alert-success alert-dismissable">
<button type="button" class="close" data-dismiss="alert" aria-
hidden="true">x</button>
<h4><i class="icon fa fa-ban"></i> Alert!</h4>
@TempData["Success"]
</div>
}
</div>
</div>
//this is my controller
public ActionResult Add(CreateViewModel objCreate)
{
userRepo.AddUser(objCreate);
TempData["Success"] = "User Added Successfully!";
return RedirectToAction("Index");
}
//this is my view
<div class="col-md-10 col-md-offset-2">
@Html.Partial("_Alerts")
@RenderBody()
</div>
谢谢!它工作正常,但它仍然是一个好方法吗? –
@AnandShrestha将取决于您的需求,但上面的示例将禁用该特定操作的缓存,这是您在重定向到索引后单击某处并在浏览器上单击“返回”按钮时发生的情况。 [Here](https://msdn.microsoft.com/en-us/library/system.web.mvc.outputcacheattribute(v = vs.118).aspx)是相关的文档和[另一个相关的SO问题](http ://stackoverflow.com/questions/20895489/outputcache-setting-inside-my-asp-net-mvc-web-application-multiple-syntax-to-pr)。希望能帮助到你。 – granit