练习+博客,量化自己的进步!
简介:
- ViewComponent相当于PartialView带着一个Controller
- 可适用于较复杂业务
- 可使用razor语法
- 只能配合父级得view使用
- 继承ViewComponent父类
- 实现Invlke或InvokeAsync方法,返回类型ViewComponentResult
实例
做一个ViewComponent指示网络是否连接:
1.新建一个文件夹ViewComponents
2.新建InternetStatusViewComponent
// 继承ViewComponent
public class InternetStatusViewComponent:ViewComponent
{
// 实现方法InvokeAsync,返回类型未IViewCommponentResult
public async Task<IViewComponentResult> InvokeAsync()
{
var httpClient = new HttpClient();
var response = await httpClient.GetAsync("https://www.baidu.com");
if (response.StatusCode == System.Net.HttpStatusCode.OK)
{
return View("Default",true);
}
else
{
return View("Default",false);
}
}
}
3.新建视图,ViewComponent用在哪就放到相应得层级下,如:
4.视图内容
@model bool
@if (Model)
{
<span class="badge badge-success">Connected</span>
}
else
{
<span class="badge badge-danger">Not Connected</span>
}
6.调用ViewComponent
5.展示
联网得时候