Asp.net core mvc MVC向视图传递数据
我试图为登录的用户提供Asp.net core mvc MVC向视图传递数据,asp.net-core-mvc,Asp.net Core Mvc,我试图为登录的用户提供delete post功能,其ID与post中的userId相同。有两个控制器帐户负责用户登录和发布控制器。 创建新帖子时,这就是如何在帖子控制器中的创建操作中获得用户ID: var user\u id=userManager.GetUserId(HttpContext.user); 在“发布详细信息”部分中有两个按钮Edit和Delete 我想用if-else隐藏按钮,但我不知道如何访问userId @if(signInManager.IsSignedIn(用户)和&M
delete post
功能,其ID
与post中的userId
相同。有两个控制器
帐户
负责用户登录和发布控制器
。
创建新帖子时,这就是如何在帖子控制器中的创建操作中获得用户ID
:
var user\u id=userManager.GetUserId(HttpContext.user);
在“发布详细信息”部分中有两个按钮Edit
和Delete
我想用if-else
隐藏按钮,但我不知道如何访问userId
@if(signInManager.IsSignedIn(用户)和&Model.Item.userId==??)
{
编辑
删除
}
我应该创建一个Cookie
,还是可以以某种方式使用UserManager
?有很多方法可以实现这一点,例如,您可以在controller中读取用户ID,并将viewbag设置为保留该值。或者您可以通过以下方式直接在razor中获取用户id:
@using Microsoft.AspNetCore.Identity
@inject UserManager<ApplicationUser> UserManager
@if (signInManager.IsSignedIn(User) && Model.Item.userId == @UserManager.GetUserId(User))
@using System.Security.Claims;
@if (signInManager.IsSignedIn(User) && Model.Item.userId == @User.FindFirstValue(ClaimTypes.NameIdentifier))