-
26-06-2012, 05:30 PM #1Junior Member
- Ngày tham gia
- Sep 2015
- Bài viết
- 0
hiển thị sản phẩm và tin tức trên cùng 1 trang cshtml mvc3
minh đang làm web bằng mô hình mvc3 bị vướng ở chỗ không biết hiển thị sản phẩm và tin tức trên cùng 1 trang cshtml vì bình thường thi mỗi trang(ví dụ index)chỉ hiển thị theo 1 actionresult của controler(ví dụ actionresult ListNews).có cách nào để hiện thị cả sản phẩm và tin tức cùng trên 1 trang không pro nào giúp mình với.
View more random threads:
- Phân biệt C#, C#.net và Asp.net ?
- Cách hiển thị file âm thanh trong trang web ?
- SignalR - Lỗi No suitable method found to override
- Uploads ảnh = FCK ko hiển thị đc khi up lên host
- Không hiểu nguyên nhân lỗi not fond 404
- Cách làm bộ đếm cho trang web Asp.net như thế nào?
- công nghệ nào áp dụng trong MVC
- Làm website ASP.NET cho trang web Báo của chính Phủ liệu có mất phí?
- Sử dụng sự kiện Onclik trong html để copy đoạn văn bản vào clipboard như thế nào?
- SqlDataAdapter có nên dùng trong lập trình web ASP.NET?
-
27-06-2012, 09:01 AM #2Junior Member
- Ngày tham gia
- Sep 2015
- Bài viết
- 0
ý mình là là làm sao 1 view(razor cshtml)tham chiếu tới nhiều controler được.vì 1 trang ví dụ news.cshtml thì chỉ tham chiếu tới 1 actionresult news trong controler thôi như vậy mình không thể hiieenr thị tin tức và sản phẩm trên cùng 1 trang news được.
-
27-06-2012, 05:38 PM #3Junior Member
- Ngày tham gia
- Sep 2015
- Bài viết
- 0
Razor view Engine hỗ trợ nhúng các thành phần từ 1 file cshtml này đến 1hiều file khác.Các tính năng Helpers và Section có thể giải quyết vấn đề của bạn.
-
19-08-2012, 03:42 PM #4Junior Member
- Ngày tham gia
- Sep 2015
- Bài viết
- 0
Gửi bởi nguyen_hung5716
không thì tạo cáo model trong đó có nhiều list<object> sang bên view thì sử lý.
chắc mới học mvc3 hả.
-
21-08-2012, 04:43 PM #5Junior Member
- Ngày tham gia
- Sep 2015
- Đang ở
- hà nội
- Bài viết
- 0
Gửi bởi nguyen_hung5716
Ví dụ:
// view model
// giả sử bạn đã có 2 class Product và NewsItem để mô tả sản phẩm và tin tức
// vd: Product có id, name, price...
public class DataModel{
public DataModel(){
NewsItems = new List<NewsItem>();
Products = new List<Product>();
}
public IList<NewsItem> NewsItems {get;set;}
public IList<Product> Products {get;set;}
}
// controller
public class HomeController : IController{
public ActionResult Index(){
var model = new DataModel();
// cho dữ liệu vào
// model.NewsItems = ...;
// model.Products = ....;
return View(model);
}
}
// view
@model DataModel
@if(Model.NewsItems.Count > 0) {
foreach(var newsItem in Model.NewsItems) {
// xuat du liệu ra
}
}
@if(Model.Products.Count > 0) {
foreach(var product in Model.Products) {
// xuat du liệu ra
}
}
2. Bạn tạo 2 action mỗi action trả về partial view để hiển thị sản phẩm và tin tức. Rồi dùng @Html.Action() helper method gọi.
Ví dụ:
// news controller
public class NewsController : IController{
public ActionResult AllNews(){
// ví dụ view model là List cho đơn giản nha
List<NewsItem> newsItems = new List<NewsItem>();
// cho dữ liệu vào
// newsItems = ...;
return PartialView("News",newsItems);
}
}
// News partial view
@model List<NewsItem>
@if(Model.Count > 0) {
foreach(var newsItem in Model) {
// xuat du liệu ra
}
}
// product controller
public class ProductController : IController{
public ActionResult AllProducts(){
// ví dụ view model là List cho đơn giản nha
List<Product> products= new List<Product>();
// cho dữ liệu vào
// products= ...;
return PartialView("Product",products);
}
}
// Product partial view
@model List<Product>
@if(Model.Count > 0) {
foreach(var product in Model) {
// xuat du liệu ra
}
}
// home controller
public class HomeController : IController{
public ActionResult Index(){
return View();
}
}
// index view
@Html.Action("AllNews","News")
@Html.Action("AllProducts","Product")
Chúc thành công!
Không chỉ dừng lại ở việc sử dụng nguyên liệu cao cấp, mỗi công trình còn được "chăm sóc" bằng 4 dịch vụ xuất sắc của Tre Nghệ. Từ việc tư vấn, thiết kế đến thi công và hoàn thiện, mọi quy trình đều...
Chất Lượng và Sáng Tạo: Kiến Trúc...