gpt4 book ai didi

c# - ASP.NET MVC 中 POST 后消息反馈的最佳实践

转载 作者:行者123 更新时间:2023-11-30 13:59:01 25 4
gpt4 key购买 nike

我正在尝试找到一种在 POST 后反馈消息的好方法。

比如我有这些方法

    public ActionResult Index(int id)
{
Model model = getModel(id);

return View(model);
}

[HttpPost]
public ActionResult Save(Model model)
{

Result result = saveModel(result)

if (Result.Status != Status.SUCCESS)
{
...
}
else if(Result.Status != Status.FAILURE)
{
...
}else
{
...
}
return RedirectToAction("Index");
}

Result 类有一个消息属性

        public class Result
{
...
public string Message{get;set;}
}

所以,当我调用 .../Controller/Index/1 时,会显示我的索引 View ,并且该 View 有一个调用保存操作的提交按钮,但是如果业务层出现问题,我想显示错误/警告信息。

所以,问题是解决这种情况的最佳方法是什么?

我看过一些文章,推荐TempData,其他人推荐ViewData,将消息传输到Index View。

最佳答案

让我分享一个我开发的一个项目的 ChangePassword 操作示例:

[HttpPost]
public ActionResult ChangePassword(LoginModel model)
{
if (ModelState.IsValid && _userService.ChangePassword(model.Password, model.NewPassword))
ViewBag.SuccessMessage = UI.PasswordChanged;
else
ModelState.AddModelError("Password", ErrorMessages.InvalidPassword);
return View(model);
}

请记住,如果您要重定向到另一个操作,ViewBag 将不起作用。如果您想在一个请求中保留信息,则必须使用 TempData。

关于c# - ASP.NET MVC 中 POST 后消息反馈的最佳实践,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14527843/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com