Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/270.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# ASP.NET MVC通用模型,适用于不同的控制器方法_C#_Asp.net_Asp.net Mvc 4_Razor - Fatal编程技术网

C# ASP.NET MVC通用模型,适用于不同的控制器方法

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

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

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

编辑: 下面是一些代码:

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是无状态的。每一个请求你都会从头开始。解释你想做什么。