2010-09-02 27 views
5

Đây là câu hỏi noob, nhưng tôi vẫn sẽ hỏi ...với mvc.net là có thể chia sẻ chế độ xem giữa nhiều hành động

Tôi muốn tạo một trang sẽ thực hiện các hoạt động CRUD cơ bản trên một danh sách các mục: -display danh sách -edit một mục -tạo một mục -delete một mục

người ta trông như tôi sẽ cần một hành động cho mỗi người trong số các hoạt động này. Điều này là tốt và dễ hiểu. Câu hỏi của tôi liên quan đến các lượt xem để tương tác với người dùng.

Tôi muốn có chỉnh sửa tại chỗ, vì vậy người dùng nhấp vào chỉnh sửa và họ có thể chỉnh sửa chi tiết của mục trong danh sách. Theo hiểu biết hiện tại của tôi, tôi sẽ phải sao chép rất nhiều lượt xem giữa 'hiển thị danh sách' và 'chỉnh sửa mục'. tuy nhiên, điều này có vẻ là sự thừa không cần thiết và sẽ làm cho các bản cập nhật trong tương lai mất nhiều thời gian hơn vì tôi sẽ phải cập nhật từng chế độ xem.

Có cách nào dễ dàng hơn không? Tôi đang đi đúng hướng/sai? Bất kỳ ý kiến ​​khác?

Trả lời

6

Có, tuyệt đối. Bạn sẽ muốn sử dụng quá tải của View() có một chuỗi. Chuỗi là tên của chế độ xem để hiển thị:

public ActionResult MyAction() 
{ 
    return View("MyViewName"); 
} 
0

Tôi tin rằng những gì bạn nên xem xét là hiển thị một phần lượt xem, đó là các trang .ascx tương tự như UserControls trong WebForms. Về cơ bản, chúng được chia sẻ một phần lượt xem mà bạn có thể sử dụng cho cùng một mục đích trên nhiều lượt xem.

Nếu bạn nhìn vào mẫu dự án mặc định, bạn có thể tìm thấy các ví dụ cho các mục như kiểm soát Đăng nhập.

Chỉnh sửa: Và như những người khác đã lưu ý, bạn cũng có thể chia sẻ lượt xem giữa các hành động. Đã có thời điểm noob của riêng tôi có quá. :)

1

Phương thức View() có thể lấy tên của chế độ xem làm tham số để bạn có thể hiển thị cùng một chế độ xem từ một số hành động. Theo mặc định (nếu bạn không chỉ định tên chế độ xem), khung công tác sẽ sử dụng chế độ xem có tên là hành động hiện tại. Xem here for details.

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