在索引视图页面中显示插入和更新数据的消息
Show message for insert and update data in index view page
在我的 ASP.NET MVC 应用程序中,我们有
public ActionResult Create(parameters)
{
if (ModelState.IsValid)
{
//code block
return RedirectToAction("Index");
}
}
这是插入数据的方法:
public ActionResult Edit(int? id)
{
if (ModelState.IsValid)
{
//code block
return RedirectToAction("Index");
}
}
而且我还有数据编辑的方法
成功后insert/edit,我正在呼叫
return RedirectToAction("Index");
我想为 create
方法显示消息“数据插入成功”,为 update
方法显示消息“数据更新成功”。
是否可以在 Index
页面上显示这样的消息,或者有没有其他方法可以向用户显示这两个成功操作的消息?
1.将字符串作为模型传递给视图没有问题:
public ActionResult Index(string message)
{
return View((object)message);
}
public ActionResult Create(/*parameters*/)
{
if (ModelState.IsValid)
{
//code block
return RedirectToAction("Index", new { message = "Data inserted successfully" });
}
return View();
}
public ActionResult Edit(int? id)
{
if (ModelState.IsValid)
{
//code block
return RedirectToAction("Index", new { message = "Data updated successfully" });
}
return View();
}
和 Index.cshtml
:
@model System.String
@{
ViewBag.Title = "Home Page";
var text = (Model is string) ? Model : String.Empty;
}
@if (!String.IsNullOrEmpty(text))
{
<div class="jumbotron">
<h1>@Model</h1>
</div>
}
@using (Html.BeginForm("Create", "Home" /* route values */))
{
<input type="submit" value="Insert" />
}
@using (Html.BeginForm("Edit", "Home", new { id = 123 }))
{
<input type="submit" value="Update" />
}
2。并且可以在 TempData
:
中传递消息
public ActionResult Index(string message)
{
TempData["message"] = message;
return View((object)message);
}
在视图中:
@{
var message = (TempData.ContainsKey("message") && TempData["message"] is string msg) ? msg : String.Empty;
ViewBag.Title = "Index Page";
}
@if (!String.IsNullOrEmpty(message))
{
<div class="jumbotron">
<h1>@Model</h1>
</div>
}
3。消息字符串可能包含在强类型视图的视图模型中。
您可以使用 toastr ....这是详细示例
https://www.c-sharpcorner.com/UploadFile/97d5a6/toastr-notifications-to-your-web-site/
我喜欢使用 TempData 将消息传递给视图。您可以在 RedirectToAction:
之前设置 TempData 的值
TempData["message"] = "data inserted successfully";
return RedirectToAction("Index");
在索引视图中,只有在控制器中设置了 TempData 时才会显示消息:
@if (TempData["message"] != null)
{
<div class="alert-info">@TempData["message"]</div>
}
在我的 ASP.NET MVC 应用程序中,我们有
public ActionResult Create(parameters)
{
if (ModelState.IsValid)
{
//code block
return RedirectToAction("Index");
}
}
这是插入数据的方法:
public ActionResult Edit(int? id)
{
if (ModelState.IsValid)
{
//code block
return RedirectToAction("Index");
}
}
而且我还有数据编辑的方法
成功后insert/edit,我正在呼叫
return RedirectToAction("Index");
我想为 create
方法显示消息“数据插入成功”,为 update
方法显示消息“数据更新成功”。
是否可以在 Index
页面上显示这样的消息,或者有没有其他方法可以向用户显示这两个成功操作的消息?
1.将字符串作为模型传递给视图没有问题:
public ActionResult Index(string message)
{
return View((object)message);
}
public ActionResult Create(/*parameters*/)
{
if (ModelState.IsValid)
{
//code block
return RedirectToAction("Index", new { message = "Data inserted successfully" });
}
return View();
}
public ActionResult Edit(int? id)
{
if (ModelState.IsValid)
{
//code block
return RedirectToAction("Index", new { message = "Data updated successfully" });
}
return View();
}
和 Index.cshtml
:
@model System.String
@{
ViewBag.Title = "Home Page";
var text = (Model is string) ? Model : String.Empty;
}
@if (!String.IsNullOrEmpty(text))
{
<div class="jumbotron">
<h1>@Model</h1>
</div>
}
@using (Html.BeginForm("Create", "Home" /* route values */))
{
<input type="submit" value="Insert" />
}
@using (Html.BeginForm("Edit", "Home", new { id = 123 }))
{
<input type="submit" value="Update" />
}
2。并且可以在 TempData
:
public ActionResult Index(string message)
{
TempData["message"] = message;
return View((object)message);
}
在视图中:
@{
var message = (TempData.ContainsKey("message") && TempData["message"] is string msg) ? msg : String.Empty;
ViewBag.Title = "Index Page";
}
@if (!String.IsNullOrEmpty(message))
{
<div class="jumbotron">
<h1>@Model</h1>
</div>
}
3。消息字符串可能包含在强类型视图的视图模型中。
您可以使用 toastr ....这是详细示例
https://www.c-sharpcorner.com/UploadFile/97d5a6/toastr-notifications-to-your-web-site/
我喜欢使用 TempData 将消息传递给视图。您可以在 RedirectToAction:
之前设置 TempData 的值TempData["message"] = "data inserted successfully";
return RedirectToAction("Index");
在索引视图中,只有在控制器中设置了 TempData 时才会显示消息:
@if (TempData["message"] != null)
{
<div class="alert-info">@TempData["message"]</div>
}