6
  1. mvc3 中 Viewbag 的范围是什么,它仅在我们通过我的操作方法呈现的页面上可用。
  2. 我们如何在 MVC 中跨页面维护信息。假设我创建了新员工,并且当我转到下一页时,我想要该员工信息。
  3. 我们如何在 MVC 中维护状态。
4

2 回答 2

4
  1. 视图包是 httpcontext 的一部分。它主要在控制器操作中设置并在视图中读取,但可以从 http 请求/响应内的 mvc 框架中的任何位置访问它。
  2. 网络没有状态,就像在富客户端应用程序中一样。要在页面之间维护值(或者更恰当地说,请求到请求),您可以使用 cookie、会话、查询字符串、请求正文(想想 post/put 请求)。
  3. 与#2 相同。
于 2012-12-13T18:00:30.040 回答
1
  1. ViewBag是一个动态表达式,它适用于所有页面。中的数据ViewBag是根据我们指定的更改的内容。如果我们ViewBag.items=itemlist;为 a赋值View,那么它将是常量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 等来维护状态

于 2012-12-13T18:07:48.127 回答