Cho e hỏi chút ạ, ở cuối video cái phần danh mục thì là điện thoại, đồng hồ... mà e muốn sưa nó theo đúng vegettable( tức là các loại về hoa quả, rau) thì sửa databasse chỗ nào ạ
@@HIENLTH dạ code của thầy ko lỗi đâu , lúc em ghi chú thêm trên thanh local host em cứ ấn nhầm vào trang HangHoa Error nó gợi ý bên dưới , các phần thầy hướng dẫn là chuẩn đấy ạ
Em chào thầy! Thầy ơi, file .cshtml của em không có hiển thị thanh bên trái bao gồm số thứ tự dòng code và các mũi tên ở các tag html để thu gọn code như format của file html. Em phải làm sao để thêm được cái đó vậy thầy? Em cám ơn thầy!
Anh ơi cho em hỏi là, trong trường hợp mà mình dùng 1 cái viewcomponet nhưng lại muốn dùng cho 2 cái menu thì làm như thế nào ạ. 2 cái menu cùng là để chia theo Category nhưng khác nhau về phần code HTML thì có làm được không hay mình phải tạo 2 cái viewcomponet riêng biệt ạ.
Trường hợp bạn nói là cùng data nhưng view khác nhau thì bạn có thể đặt tham số cho hàm Invoke() để phân biệt mình dùng View nào hiển thị. Ví dụ: public IViewComponentResult Invoke(int type) { if(type==1) {return View("View1", data);} elseif(type==2) {return View("View2", data);} } Gọi: @await Component.InvokeAsync("TenViewComponent", new {type=2}) hoặc: @await Component.InvokeAsync("TenViewComponent", new {type=1})
@@HIENLTH vâng ạ, e cảm ơn a ạ. Anh cho em hỏi là series của mình ấy, thì có sử dụng API không ạ, tại mỗi lần bấm vào 1 item trong menu là nó lại refresh lạ page ấy ạ. Nên trông nó hơi bị tốn thời gian ấy ạ.
@@HIENLTH theo anh thì nên dùng cái nào ạ. Trong trường hợp kết hợp với webApi thì nên làm như nào a nhỉ, tại em thấy các project họ hay kết hợp cả mvc với api ấy ạ
@@vietquang6603 khi xây dựng chung với WebAPI ta muốn cung cấp dữ liệu cho nhiều ứng dụng. Trường hợp bấm menu lấy sản phẩm này xây dựng dạng API thì trên API trả về mảng JSON các sản phẩm và mình bắt data json này rồi chế biến thêm html, css ra rồi hiển thị lên UI
InvalidOperationException: A view component named 'MenuLoai' could not be found. A view component must be a public non-abstract class, not contain any generic parameters, and either be decorated with 'ViewComponentAttribute' or have a class name ending with the 'ViewComponent' suffix. A view component must not be decorated with 'NonViewComponentAttribute'. Microsoft.AspNetCore.Mvc.ViewComponents.DefaultViewComponentHelper.InvokeAsync(string name, object arguments) AspNetCoreGeneratedDocument.Views_HangHoa_Index.ExecuteAsync() in Index.cshtml + ViewData["Title"] = "Index"; em bị báo lỗi này thì sao ạ
mình bị lỗi : The view 'Components/MenuLoai/Default' was not found. The following locations were searched: /Views/HangHoa/Components/MenuLoai/Default.cshtml /Views/Shared/Components/MenuLoai/Default.cshtml mọi người ai fix được giúp mik với
@@LamTa701 Mình fix được ròi nha. Bạn xem lại bài 1 có phần đăng kí trong Program.cs. Mình thiếu phần đó nên bi lỗi, bạn thử xem lại cái Program.cs nha.
Source code demo: github.com/hienlth-online/ECommerceMVC/tree/03_ProductPage
co src full k ak
Làm theo đúng file Default.cshtml trong thư mục Views/HangHoa/Components/MenuLoai để hiển thị ViewComponent mà vẫn báo lỗi. Làm sao để sửa vậy thầy
Cho e hỏi chút ạ, ở cuối video cái phần danh mục thì là điện thoại, đồng hồ...
mà e muốn sưa nó theo đúng vegettable( tức là các loại về hoa quả, rau) thì sửa databasse chỗ nào ạ
Em bị báo lỗi đoạn @await Component.InvokeAsyn("MenuLoai") , nó báo không tìm được file view
MenuLoai là ViewComponent nên file Default.cshtml hiển thị Menu bạn phải đặt ở thư mục ~/Views/Shared/Components/MenuLoai nhé
@@HIENLTH dạ code của thầy ko lỗi đâu , lúc em ghi chú thêm trên thanh local host em cứ ấn nhầm vào trang HangHoa Error nó gợi ý bên dưới , các phần thầy hướng dẫn là chuẩn đấy ạ
Mình fix được ròi nha. Bạn xem lại bài 1 có phần đăng kí trong Program.cs. Mình thiếu phần đó nên bi lỗi, bạn thử xem lại cái Program.cs nha.
cám ơn thầy
Đến phần foreach tại sao em lại không xuất dữ liệu ra được vậy ạ em đang bị bí ở đó
Em chào thầy! Thầy ơi, file .cshtml của em không có hiển thị thanh bên trái bao gồm số thứ tự dòng code và các mũi tên ở các tag html để thu gọn code như format của file html. Em phải làm sao để thêm được cái đó vậy thầy? Em cám ơn thầy!
Cho em hỏi nếu làm menu đa cấp trên thanh Menubar thì sao ạ, có dung component đc không ạ
Được chứ bạn. Dùng ViewComponent nhé.
@@HIENLTH mong thầy làm 1 video về menu đa cấp dùng đệ quy ạ
dạ em xin góp ý là thầy có thể để thêm thanh Solution Explorer liên tục được không ạ, nhiều khi tắt không biết đang sửa file nào
Cảm ơn những bài giảng quý giá của Thậy ạ
Anh ơi cho em hỏi là, trong trường hợp mà mình dùng 1 cái viewcomponet nhưng lại muốn dùng cho 2 cái menu thì làm như thế nào ạ. 2 cái menu cùng là để chia theo Category nhưng khác nhau về phần code HTML thì có làm được không hay mình phải tạo 2 cái viewcomponet riêng biệt ạ.
Trường hợp bạn nói là cùng data nhưng view khác nhau thì bạn có thể đặt tham số cho hàm Invoke() để phân biệt mình dùng View nào hiển thị.
Ví dụ:
public IViewComponentResult Invoke(int type)
{
if(type==1) {return View("View1", data);}
elseif(type==2) {return View("View2", data);}
}
Gọi:
@await Component.InvokeAsync("TenViewComponent", new {type=2})
hoặc: @await Component.InvokeAsync("TenViewComponent", new {type=1})
@@HIENLTH vâng ạ, e cảm ơn a ạ. Anh cho em hỏi là series của mình ấy, thì có sử dụng API không ạ, tại mỗi lần bấm vào 1 item trong menu là nó lại refresh lạ page ấy ạ. Nên trông nó hơi bị tốn thời gian ấy ạ.
@@vietquang6603 ý bạn nói là muốn gọi AJAX. Bạn có thể thiết kế đề dùng AJAX gọi lên server, kết quả trả về mình render đúng khu vực mình cần.
@@HIENLTH theo anh thì nên dùng cái nào ạ. Trong trường hợp kết hợp với webApi thì nên làm như nào a nhỉ, tại em thấy các project họ hay kết hợp cả mvc với api ấy ạ
@@vietquang6603 khi xây dựng chung với WebAPI ta muốn cung cấp dữ liệu cho nhiều ứng dụng. Trường hợp bấm menu lấy sản phẩm này xây dựng dạng API thì trên API trả về mảng JSON các sản phẩm và mình bắt data json này rồi chế biến thêm html, css ra rồi hiển thị lên UI
Thầy tạo video về thêm sửa xóa sản phẩm đi thầy!
cam on Thay
video hay tuyệt vời , em cảm ơn thầy
hay thầy ơi
Hay quá ạ
InvalidOperationException: A view component named 'MenuLoai' could not be found. A view component must be a public non-abstract class, not contain any generic parameters, and either be decorated with 'ViewComponentAttribute' or have a class name ending with the 'ViewComponent' suffix. A view component must not be decorated with 'NonViewComponentAttribute'.
Microsoft.AspNetCore.Mvc.ViewComponents.DefaultViewComponentHelper.InvokeAsync(string name, object arguments)
AspNetCoreGeneratedDocument.Views_HangHoa_Index.ExecuteAsync() in Index.cshtml
+
ViewData["Title"] = "Index";
em bị báo lỗi này thì sao ạ
Trong file MenuLoaiViewComponent bạn đổi thành public async Task InvokeAsync () là được nhé
Mình fix được ròi nha. Bạn xem lại bài 1 có phần đăng kí trong Program.cs. Mình thiếu phần đó nên bi lỗi, bạn thử xem lại cái Program.cs nha.
mình bị lỗi : The view 'Components/MenuLoai/Default' was not found. The following locations were searched:
/Views/HangHoa/Components/MenuLoai/Default.cshtml
/Views/Shared/Components/MenuLoai/Default.cshtml
mọi người ai fix được giúp mik với
Bạn cần có file Default.cshtml trong thư mục Views/HangHoa/Components/MenuLoai để hiển thị ViewComponent ra.
@@HIENLTH Em có file Default.cshtml trong thư mục Views/HangHoa/Components/MenuLoai nhưng vẫn bị lỗi như trên thì fix sao ạ
Mình fix được ròi nha. Bạn xem lại bài 1 có phần đăng kí trong Program.cs. Mình thiếu phần đó nên bi lỗi, bạn thử xem lại cái Program.cs nha.
@@LamTa701 Mình fix được ròi nha. Bạn xem lại bài 1 có phần đăng kí trong Program.cs. Mình thiếu phần đó nên bi lỗi, bạn thử xem lại cái Program.cs nha.
@@LamTa701 cái này phải là MenuLoaiViewComponent mà trong video chỉ ghi (MenuLoaiComponent) á. Đổi thêm chữ View là đc nha