-1

我很难理解 MVC 的行为方式。在我的 Controller 类中,我创建了一个模型并将其初始化为主要的 ActionMethod。之后我调用另一个控制器方法,结果模型为空。这是为什么?

现在看来我只能使用它们一次将数据库信息传递给视图。是否有必要始终修改/查询数据库?我知道在大多数情况下这样做是有意义的,但我想将这些部分分开。

编辑: 这是一些代码:

public class TestController : Controller {
   TestModel model;

   public ActionResult Index() {
      model = new TestModel();
      return View(model);
   }

   public ActionResult OtherMethod {
      // Here I would like to access/modify the previously created model, but it is null
      return View();
   }
}
4

2 回答 2

0

您应该使用Html 助手在视图中绑定模型的属性

或者干脆使用 @Html.EditorForModel() 助手。它将为整个模型创建 UI 和绑定

于 2013-09-04T06:43:03.260 回答
-1

控制器的默认生命周期是“每个请求”,这意味着在每个 HttpRequest 上都会创建一个新的 TestController 实例。

您可以通过创建自定义控制器工厂来更改此行为,但我不建议这样做,我建议您改用 TempData 集合。

请参阅http://msdn.microsoft.com/en-us/library/dd394711(v=vs.100).aspx

于 2013-09-04T07:10:49.400 回答