View Component 的优势:
● 相当于带着小型 Controller 的 Partial View
● 适用于较复杂业务
● 可使用 Razor 语法
定义:
</font size = 5 color = blue>
- 项目中创建 ViewComponents 文件夹
- ViewComponents 文件夹下创建以 ViewComponent 结尾的类继承自Microsoft.AspNetCore.Mvc.ViewComponent
- 在 ViewsSharedComponentsMovieCount 下创建默认视图文件 Default.cshtml
public class MovieCountViewComponent: Microsoft.AspNetCore.Mvc.ViewComponent
{
public async Task<IViewComponentResult> InvokeAsync()
{
int Count = 666;
return View(Count);
}
}
视图中:
@model int
<h2>@Model</h2>
视图中调用
通过@(第二个参数是向方法传递参数)
@await Component.InvokeAsync("Count", 123)
<vc:movie-count cinema-id="@ViewBag.CinemaId"></vc:movie-count>
//使用这种方法要在——ViewImports中引入当前项目
@addTagHelper "*, CoreDemo"