Tôi vừa mới hoàn thành ASP.NET MVC (2) CMS đầu tiên của mình. Bước tiếp theo là xây dựng trang web sẽ hiển thị dữ liệu từ cơ sở dữ liệu của CMS. Đây là thiết kế website:asp.net mvc2 - bộ điều khiển dành cho trang cái và tổ chức mã số
http://img56.imageshack.us/img56/4676/portal.gif http://img56.imageshack.us/img56/4676/portal.gif
# 1 (Red hộp) - loại màn hình bài viết. ViewModel:
public class CategoriesDisplay
{
public CategoriesDisplay() { }
public int CategoryID { set; get; }
public string CategoryTitle { set; get; }
}
# 2 (Brown hộp) - hiển thị bài viết x cuối cùng; bỏ qua những người từ hộp màu xanh lá cây # 3. Viewmodel:
public class ArticleDisplay
{
public ArticleDisplay() { }
public int CategoryID { set; get; }
public string CategoryTitle { set; get; }
public int ArticleID { set; get; }
public string ArticleTitle { set; get; }
public string URLArticleTitle { set; get; }
public DateTime ArticleDate;
public string ArticleContent { set; get; }
}
# 3 (hộp màu xanh lá cây) - Hiển thị x cuối bài viết. Sử dụng cùng một ViewModel như hộp màu nâu # 2
# 4 (hộp màu xanh) - Hiển thị danh sách các sự kiện sắp tới. Sử dụng dataContext.Model.Event
làm ViewModel
Hộp # 1, # 2 và # 4 sẽ lặp lại toàn bộ trang web và chúng là một phần của trang chính. Vì vậy, câu hỏi của tôi là: cách tốt nhất để chuyển dữ liệu này từ Mô hình sang Bộ điều khiển và cuối cùng là Xem các trang là gì?
- Tôi có nên làm một bộ điều khiển cho trang tổng thể và lớp ViewModel sẽ quấn tất cả các lớp học này cùng HOẶC
- Tôi có nên tạo một phần xem cho mỗi của các hộp và làm cho mỗi trong số họ thừa hưởng lớp thích hợp (nếu nó thậm chí còn có thể là nó hoạt động theo cách này?) HOẶC
- tôi có nên đặt mã lặp đi lặp lại này trong tất cả các bộ điều khiển và tất cả thêm chuyển dữ liệu thông qua ViewData, mà sẽ có lẽ là wor se way :) HOẶC
- Có lẽ cách tốt hơn và nhiều hơn nữa nhưng tôi không biết/nhìn thấy nó?
Cảm ơn trước, Ile
EDIT:
Nếu câu trả lời của bạn là # 1, sau đó xin vui lòng giải thích làm thế nào để làm cho một bộ điều khiển cho trang chủ!
EDIT 2:
Trong hướng dẫn này được mô tả làm thế nào để truyền dữ liệu cho trang chủ sử dụng lớp trừu tượng: http://www.asp.net/LEARN/mvc/tutorial-13-cs.aspx
Trong "Liệt kê 5 - Bộ xử lý \ MoviesController.cs", dữ liệu được lấy trực tiếp từ cơ sở dữ liệu sử dụng LINQ, không phải từ kho lưu trữ. Vì vậy, tôi tự hỏi nếu điều này chỉ là trong hướng dẫn này, hoặc có một số thủ thuật ở đây và kho không thể/không nên được sử dụng?
Có thể tạo trang cái được đánh mạnh trong MVC không? –
Tôi cũng muốn biết câu trả lời câu hỏi này ti –
câu trả lời cho qua dữ liệu để Master Page là ở đây: http://www.asp.net/LEARN/mvc/tutorial-13-cs.aspx –