一般来说,当控制器ActionResult方法处理 POST 请求并返回结果时,可以使用ViewBag,ViewData和ViewModel等方式来将结果返回给视图。
以下是使用ViewModel的示例代码,假设我们有一个表单,用户可以在其中输入用户名和电子邮件地址,并在提交表单时将数据保存到数据库中:
// 定义ViewModel类 public class UserViewModel { public string UserName { get; set; } public string Email { get; set; } }
// 在控制器中处理POST请求 [HttpPost] public ActionResult SaveUser(UserViewModel model) { // 将用户数据保存到数据库
// 将成功保存的消息存储在TempData中
TempData["Message"] = "用户已成功保存!";
// 重定向到另一个Action方法
return RedirectToAction("Index");
}
// 在视图中显示结果 @if (TempData["Message"] != null) {
在上述示例中,我们使用UserViewModel类来接受表单中的用户名和电子邮件地址,并将其保存到数据库中。如果数据保存成功,我们将在TempData中保存一条消息,并在Index页面中显示该消息。在视图中,我们可以使用@if语句检查TempData中是否存在消息,并将其呈现为警告框。
当然,还有其他更多返回结果到视图的方法,具体使用哪种方式要根据具体情况来确定。