-
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:
- Đưa thẻ html vào 1 chuỗi string trong code behind
- Cách hiển thị chi tiết sản phẩm trong asp.net mvc4?
- Đưa web chạy csdl 2008 dùng linq đưa lên somme.com, lỗi xin giúp
- Không lấy được dữ liệu từ TextVBox trong GridView
- Lỗi không lấy được đường dẫn url trên trang hiện tại khi đổi ngôn ngữ
- Cách hiển thị công thức toán học bằng Mathml trên web
- Control FileUpload trên host ASP.NET không hoạt động được?
- Xử lý viewstate trong code-behind asp.net
- Tạo slideshow jquery mà các ảnh được lấy từ CSDL
- Lỗi The file '/WebSite1/Site.master' does not exist
-
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!
Pallet nhựa Lâm Đồng giải pháp hoàn hảo cho nhà kho Pallet nhựa Lâm Đồng là một giải pháp đa năng và hiệu quả trong việc vận chuyển và lưu trữ hàng hóa. Trong đó, pallet nhựa Lâm Đồng không chỉ đáp...
Pallet nhựa Lâm Đồng giải pháp...