Viewbag 在 MVC3 中的范围是什么,我们如何在 MVC 中维护状态


  1. MVC3 中 Viewbag 的范围是什么,它仅在我们通过我的操作方法呈现的页面上可用。
  2. 我们如何在 MVC 中维护整个页面的信息。假设我创建新员工,当我移动到下一页时,我需要该员工信息。
  3. 我们如何在 MVC 中维护状态。
  1. 视图包是 httpcontext 的一部分。 它主要在控制器操作中设置并在视图中读取,但它可以从 MVC 框架中 HTTP 请求/响应中的几乎任何地方访问。
  2. Web 没有状态,就像在胖客户端应用中那样。要维护页面之间的值(或者更恰当地说,请求到请求),您可以使用 cookie、会话、查询字符串、请求正文(想想发布/放置请求)。
  3. 与#2相同。
  1. ViewBag是一个动态表达式,可用于所有页面。ViewBag中的数据是根据我们分配的内容而更改的。如果我们为一个 View 分配ViewBag.items=itemlist;,那么对于该View它将是常量。我们可以根据需要将任意数量的数据放入每页ViewBag中,对于单个页面,我们可以拥有

    ViewBag.items=itemlist;
    ViewBag.table=usertable;
    
  2. 您可以通过将数据作为参数传递给生成我们要在其上维护信息的视图的方法,从而在 MVC 中跨页面维护信息,如下所示:

    public ActionResult CreateEmployee(EmployeeModel emp)
    {
         //Add Employee to db
         ViewBag.employee=emp;
         RedirectToAction("MethodToCall","Controller");
    }
    

因此,下一页可以包含ViewBag中包含的员工信息

或者,您也可以使用ViewData

3] 可以使用会话、cookie 等来维护状态