ViewComponent
基础
创建一个.NetCore 3.x的MVC项目
。。。
实验目的
开始实验
创建
ViewComponents
创建
CounterViewComponent.cs
CounterViewComponent.cs
内容如下
public class CounterViewComponent:ViewComponent
{
public static int i = 0;
private readonly ILogger<HomeController> _logger;
public CounterViewComponent(ILogger<HomeController> logger)
{
_logger = logger;
}
public async Task<IViewComponentResult> InvokeAsync()
{
var controller = RouteData.Values["controller"].ToString();
var action = RouteData.Values["action"].ToString();
if (!string.IsNullOrWhiteSpace(controller) && !string.IsNullOrWhiteSpace(action))
{
var pageId = $"{controller}-{action}";
i = i++;
return View("Default", pageId +": "+ i);
}
throw new Exception("Cannot get pageId");
}
}
在 Views
文件夹创建下列对应文档与路径
在HomeController
中的Index
视图上添加如下代码
在这之前我把layer
给去掉了
<h1>@await Component.InvokeAsync("Counter")</h1>