C# ASP.NET MVC通用模型,适用于不同的控制器方法
我很难理解MVC的行为方式。在我的控制器类中,我创建了一个模型,并将其初始化为主ActionMethod。之后,我调用另一个控制器方法,结果发现该模型为null。为什么呢 现在看来,我只能使用它们一次来将数据库信息传递给视图。是否需要始终修改/查询数据库?我知道在大多数情况下这样做是有意义的,但我想把这些部分分开 编辑: 下面是一些代码:C# ASP.NET MVC通用模型,适用于不同的控制器方法,c#,asp.net,asp.net-mvc-4,razor,C#,Asp.net,Asp.net Mvc 4,Razor,我很难理解MVC的行为方式。在我的控制器类中,我创建了一个模型,并将其初始化为主ActionMethod。之后,我调用另一个控制器方法,结果发现该模型为null。为什么呢 现在看来,我只能使用它们一次来将数据库信息传递给视图。是否需要始终修改/查询数据库?我知道在大多数情况下这样做是有意义的,但我想把这些部分分开 编辑: 下面是一些代码: public class TestController : Controller { TestModel model; public Actio
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();
}
}
您应该使用绑定视图中模型的属性
或者简单地使用@Html.EditorForModel()帮助程序。它将为整个模型创建UI和绑定控制器的默认生存期为“每个请求”,这意味着在每个HttpRequest上创建TestController的新实例 您可以通过创建自定义控制器工厂来更改此行为,但我不建议这样做,我建议您改用TempData collection
请参见您应该向我们展示更多代码。模型使用的数量不受限制。您可以根据自己的知识不足得出结论。我建议你去阅读一些教程http是无状态的。每一个请求你都会从头开始。解释你想做什么。