我试图在尝试存储过程后显示成功/不成功的消息。单击“保存”按钮时会调用“保存 ActionResult” - 但是在重定向回索引之前,我想显示一个消息框。有没有办法先返回视图,然后再返回RedirectToAction?
保存按钮指向:
[HttpPost]
public ActionResult Save(string submit, Models.KnownIssues knownIssue)
{
UpdateKnownIssue(knownIssue);
InsertKnownIssue(knownIssue);
return RedirectToAction("Index");
}
Run Code Online (Sandbox Code Playgroud)
视图袋警告:
public ActionResult Edit(KnownIssues knownIssue, string submit)
{
if (UpdateKnownIssue(knownIssue))
{
ViewBag.ShowAlert = "<script>alert('Successfully Edited'); window.location.href = '/KnownIssues';</script>";
} else
{
ViewBag.ShowAlert = "<script>alert('Unseccessful. Try again.');</script>";
}
return View(knownIssue);
}
Run Code Online (Sandbox Code Playgroud)
尝试这个:
return RedirectToAction("Index", "Home", new { ac = "success" });
Run Code Online (Sandbox Code Playgroud)
在索引视图中执行以下操作(注意:我正在使用引导警报):
@{
var parameter = Request.QueryString["ac"];
//Check parameter here and display Message
if (parameter == "success")
{
<div class="alert alert-success alert-dismissable">
<a href="#" class="close" data-dismiss="alert" aria-label="close">×</a>
<strong><i class="fa fa-exclamation-triangle" aria-hidden="true"></i> Record Added Successfully.</strong>
</div>
}
}
Run Code Online (Sandbox Code Playgroud)
编辑:
更好的方法可能是使用 TempData,特别是如果您不想在 url 中使用变量。
您可以在控制器中设置 TempData,如下所示:
TempData["SuccessMessage"] = "Your Success Message";
Run Code Online (Sandbox Code Playgroud)
并在视图中通过检查 TempData 中是否有任何内容来显示消息:
@if (TempData["SuccessMessage"] != null)
{
<div class="alert alert-success alert-dismissable">
<strong>@TempData["SuccessMessage"]</strong>
</div>
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
14836 次 |
| 最近记录: |