默认项目模板将创建一个局部视图_LoginPartial.cshtml,其中包含一些逻辑,用于查找用户是否已登录并查找其用户名。
由于视图组件可能更合适(因为涉及逻辑,甚至注入了2个服务),因此以下示例显示了如何将LoginPartial转换为视图组件。
查看组件类
public class LoginViewComponent : ViewComponent { private readonly SignInManager<ApplicationUser> signInManager; private readonly UserManager<ApplicationUser> userManager; public LoginViewComponent(SignInManager<ApplicationUser> signInManager, UserManager<ApplicationUser> userManager) { this.signInManager= signInManager; this.userManager= userManager; } public async Task<IViewComponentResult> InvokeAsync() { if (signInManager.IsSignedIn(this.User as ClaimsPrincipal)) { return View("SignedIn", await userManager.GetUserAsync(this.User as ClaimsPrincipal)); } return View("SignedOut"); } }
登录视图(在〜/ Views / Shared / Components / Login / SignedIn.cshtml中)
@model WebApplication1.Models.ApplicationUser <form asp-area="" asp-controller="Account" asp-action="LogOff" method="post" id="logoutForm" class="navbar-right"> <ul class="nav navbar-nav navbar-right"> <li> <a asp-area="" asp-controller="Manage" asp-action="Index" title="Manage">Hello @Model.UserName!</a> </li> <li> <button type="submit" class="btn btn-link navbar-btn navbar-link">Log off</button> </li> </ul> </form>
SignedOut视图(在〜/ Views / Shared / Components / Login / SignedOut.cshtml中)
<ul class="nav navbar-nav navbar-right"> <li><a asp-area="" asp-controller="Account" asp-action="Register">Register</a></li> <li><a asp-area="" asp-controller="Account" asp-action="Login">Log in</a></li> </ul>
从_Layout.cshtml调用
@await Component.InvokeAsync("Login")
本文向大家介绍asp.net-core 创建一个视图组件,包括了asp.net-core 创建一个视图组件的使用技巧和注意事项,需要的朋友参考一下 示例 视图组件封装了可重用的逻辑和视图。它们的定义是: 一个ViewComponent类,其中包含用于为视图获取和准备数据以及确定要呈现的视图的逻辑。 一个或多个视图 由于它们包含逻辑,因此与部分视图相比,它们更灵活,同时仍然可以促进关注点的良好分离。
本文向大家介绍ASP.NET Core集成微信登录,包括了ASP.NET Core集成微信登录的使用技巧和注意事项,需要的朋友参考一下 工具: Visual Studio 2015 update 3 Asp.Net Core 1.0 1 准备工作 申请微信公众平台接口测试帐号,申请网址:(http://mp.weixin.qq.com/debug/cgi-bin/sandbox?t=sandbox
本文向大家介绍浅谈ASP.NET Core 2.0 部分视图(译),包括了浅谈ASP.NET Core 2.0 部分视图(译)的使用技巧和注意事项,需要的朋友参考一下 问题 如何在ASP.NET Core 2.0中使用部分视图来重用页面的公共部分? 答案 新建一个空项目,在Startup中添加MVC服务和中间件: 添加两个模型: 添加控制器,返回ViewResult并传入模型实例: 添加视图页面I
安装 ASP.NET Core 和 TypeScript 首先,若有需要请安装 ASP.NET Core。此篇指南需要使用 Visual Studio 2015 或 2017。 其次,如果你的 Visual Studio 不带有最新版本的TypeScript,你可以从这里安装。 新建工程 选择 File 选择 New Project (Ctrl + Shift + N) 选择 Visual C#
ASP.NET Core 是一个新的开源和跨平台的框架,用于构建如 Web 应用、物联网(IoT)应用和移动后端应用等连接到互联网的基于云的现代应用程序。ASP.NET Core 应用可运行于 .NET Core 和完整的 .NET Framework 之上。它整合了原来ASP.NET中的MVC和WebApi框架,你可以在 Windows、Mac 和 Linux 上跨平台的开发和运行你的 ASP.
本文向大家介绍asp.net-core 使用NLog记录器,包括了asp.net-core 使用NLog记录器的使用技巧和注意事项,需要的朋友参考一下 示例 NLog.Extensions.Logging是.NET Core和ASP.NETCore中Microsoft的官方NLog提供程序。这里和这里分别是说明和示例。