gpt4 book ai didi

asp.net-mvc-4 - 在 ASP.NET MVC 4 中保留模型

转载 作者:行者123 更新时间:2023-12-04 05:13:32 24 4
gpt4 key购买 nike

我有一个 ASP.NET MVC 4 应用程序。我对 ASP.NET MVC 4 比较陌生。目前,我正在尝试构建一个基本的任务列表应用程序。

public ActionResult Create()
{
var model = new TaskModel();
return View("~/Views/Task.cshtml", model);
}

[HttpPost]
public ActionResult Create(TaskModel model)
{
if (model.TaskName.Length == 0)
{
// Display error message
}
else
{
// Save to database
// Write success message
}
return View("~/Views/Task.cshtml", model);
}

如果出现错误,我会在屏幕上显示错误消息。我的问题是,以前在 View 中输入的值没有显示。整个 View 是空白的。在这种情况下如何保留 View 中的值?

谢谢!

最佳答案

我为此使用了 TempData。

public ActionResult Create()
{
var model = new TaskModel();
TempData["task"] = model;
return View("~/Views/Task.cshtml", model);
}

[HttpPost]
public ActionResult Create()
{
var task = (TaskModel)TempData["task"];
UpdateModel(task);
if (model.TaskName.Length == 0)
{
// Display error message
}
else
{
// Save to database
// Write success message
}

TempData["task"] = task;
return View("~/Views/Task.cshtml", model);
}

MVC 的工作方式与 WebForms 不同,因为没有“控件”的概念,您必须自己保留状态。如果您不想使用 TempData,另一种选择是使用 LosFormatter 将您的控件序列化为隐藏的 HTML 字段。这将复制 ASP.NET WebForms 中 ViewState 的功能

关于asp.net-mvc-4 - 在 ASP.NET MVC 4 中保留模型,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14589084/

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