2012-12-13 29 views
5
  1. phạm vi của Viewbag trong mvc3 là nó chỉ có sẵn trên trang mà chúng ta đang hiển thị thông qua phương thức hành động của mình.
  2. Làm cách nào để chúng tôi duy trì thông tin trên trang trong MVC. Giả sử tôi Tạo nhân viên mới và khi tôi chuyển sang trang tiếp theo, tôi muốn thông tin nhân viên đó.
  3. Làm cách nào để chúng tôi duy trì trạng thái trong MVC.
+1

Tôi cũng xin thêm cố gắng tránh sử dụng ViewBag trừ khi bạn phải vì bạn không thể sau đó sử dụng phương pháp helper chung chung như EditorFor , nếu bạn cần một kết hợp dữ liệu từ các mô hình khác nhau trên trang của bạn tạo ra một ViewModel có mọi thứ bạn cần, nó làm cho cuộc sống dễ dàng hơn nhiều trong thời gian dài. –

Trả lời

4
  1. túi xem là một phần của httpcontext. nó chủ yếu được đặt trong hành động điều khiển và đọc trong khung nhìn, nhưng nó có thể được truy cập từ bất kỳ đâu trong khung mvc trong một yêu cầu/đáp ứng http.
  2. trang web không có trạng thái như bạn sẽ làm trong ứng dụng khách phong phú. Để duy trì các giá trị từ trang này sang trang khác (hoặc thích hợp hơn, yêu cầu yêu cầu), bạn có thể sử dụng cookie, phiên, chuỗi truy vấn, phần thân yêu cầu (nghĩ các yêu cầu đăng/đặt).
  3. giống như số 2.
1
  1. ViewBag là một biểu hiện năng động và nó có sẵn cho tất cả các trang. Dữ liệu trong ViewBag là điều thay đổi theo chúng tôi đã chỉ định. Nếu chúng tôi đang chỉ định ViewBag.items=itemlist; cho số View thì sẽ là hằng số cho số View đó. Chúng ta có thể đưa càng nhiều dữ liệu vào ViewBag mỗi trang như chúng ta muốn như thế nào, cho một trang duy nhất, chúng ta có thể có

    ViewBag.items=itemlist; 
    ViewBag.table=usertable; 
    
  2. Bạn có thể duy trì các thông tin trên các trang trong MVC bằng cách truyền dữ liệu như một tham số đến phương pháp mà rendres View trên mà chúng tôi muốn duy trì các thông tin như sau:

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

vì vậy, các trang tiếp theo có thể có những thông tin nhân viên chứa trong ViewBag

Ngoài ra, bạn cũng có thể sử dụng ViewData.

3] Nhà nước có thể được duy trì sử dụng phiên, cookies vv

Các vấn đề liên quan