【发布时间】:2021-05-28 09:45:30
【问题描述】:
我在我的项目中使用视图组件。有时,我需要使用相同的视图组件作为各种样式。我研究了很多,但没有找到解决方案。
下面的代码可以正常工作,但是当我这样做时,我无法按照我想要的方式使用它。
查看组件类:
public IViewComponentResult Invoke(BlogSidebarViewModel vm)
{
vm.BlogTags = _uow.BlogTag.GetAllByPriority(true,vm.LangId,vm.WebsiteId);
vm.BlogCategories = _uow.BlogCategory.GetAllByPriority(true,vm.LangId,vm.WebsiteId).Include(p=>p.BlogTag);
vm.RecentBlogs = _uow.Blog.GetAllByEnabledDate(true,vm.LangId,vm.WebsiteId);
//return View(vm); //For Default Blog Sidebar View Component
//return View("RedComponent", vm); //For Red Blog Sidebar View Component
//return View("GreenComponent",vm);//For Green Blog Sidebar View Component
}
但是,当我编写以下代码时,我得到了一个错误。
@await Component.InvokeAsync("BlogSidebar/RedComponent");
或
@await Component.InvokeAsync("~/Views/Shared/Components/BlogSidebar/GreenComponent.cshtml");
我想在各种视图中使用视图组件。我能怎么做?可以吗?
编辑
可以同时使用视图组件的视图吗?例如,当我在“Blogs/ABC.cshtml”视图中使用“GreenComponent”时,我想在“Blogs/XYZ.cshtml”视图中使用“RedComponent”视图。
【问题讨论】:
标签: asp.net asp.net-core asp.net-core-viewcomponent