gpt4 book ai didi

c# - 如何在重定向到 ASP .NET MVC 中的另一个操作时保存模型状态?

转载 作者:太空狗 更新时间:2023-10-30 01:06:51 26 4
gpt4 key购买 nike

我有一个家庭 Controller

public class HomeController : Controller
{
public ActionResult Index()
{
var m = new ModelClass
{
Prop1 = 1,
Prop2 = "property 2"
};

return View(m);
}

public ActionResult SubAction()
{
ModelState.AddModelError("key", "error message value");
return RedirectToAction("Index");
}

}

型号:

public class ModelClass
{
public int Prop1 { get; set; }
public string Prop2 { get; set; }
}

和 View :

@model MvcApplication9.Models.ModelClass
@{
ViewBag.Title = "Index";
}

<h2>Index</h2>

@Html.TextBoxFor(m => m.Prop1)
@Html.TextBoxFor(m => m.Prop2)

@Html.ValidationMessage("key")
<br/>
@Html.ActionLink("action", "SubAction", "Home")

当我点击 action 操作链接时,我希望看到 error message value 但是当我从 SubAction 重定向到 Index 操作 ModelState 错误丢失。我如何保存那些在 SubAction 中设置的模型错误,并在 View 中显示它们,由 Index 操作返回?

最佳答案

如果您只是想传递错误消息,请使用 TempData:

TempData.Add("error", "I'm all out of bubblegum...");

然后,在您的其他操作或其 View 中,您可以使用 TryGetValue:

object message = string.Empty;

if(TempData.TryGetValue("error", out message)
{
// do something with the message...
}

关于c# - 如何在重定向到 ASP .NET MVC 中的另一个操作时保存模型状态?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14089472/

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