Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/asp.net-mvc/15.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# Can';无法获取User.Identity.GetUserId()_C#_Asp.net Mvc_Asp.net Identity - Fatal编程技术网

C# Can';无法获取User.Identity.GetUserId()

C# Can';无法获取User.Identity.GetUserId(),c#,asp.net-mvc,asp.net-identity,C#,Asp.net Mvc,Asp.net Identity,我有一个简单的web应用程序,无法使用useruser.Identity.GetUserId()方法。每次使用它时,它都返回null,如果使用User.Identity.GetUserId(),则返回0 例如,在本代码部分中 public async Task<ActionResult> SetPassword(SetPasswordViewModel model) { var userId = User.Identity.GetUserId(

我有一个简单的web应用程序,无法使用user
user.Identity.GetUserId()
方法。每次使用它时,它都返回null,如果使用
User.Identity.GetUserId()
,则返回0

例如,在本代码部分中

public async Task<ActionResult> SetPassword(SetPasswordViewModel model)
        {
            var userId = User.Identity.GetUserId();
            if (ModelState.IsValid)
            {
                var result = await UserManager.AddPasswordAsync(User.Identity.GetUserId(), model.NewPassword);
                if (result.Succeeded)
                {
                    var user = await UserManager.FindByIdAsync(User.Identity.GetUserId());
                    if (user != null)
                    {
                        await SignInManager.SignInAsync(user, isPersistent: false, rememberBrowser: false);
                    }
                    return RedirectToAction("Index", new { Message = ManageMessageId.SetPasswordSuccess });
                }
                AddErrors(result);
            }
公共异步任务SetPassword(SetPasswordViewModel模型)
{
var userId=User.Identity.GetUserId();
if(ModelState.IsValid)
{
var result=await UserManager.AddPasswordAsync(User.Identity.GetUserId(),model.NewPassword);
if(result.successed)
{
var user=await UserManager.FindByIdAsync(user.Identity.GetUserId());
如果(用户!=null)
{
等待SignInManager.SignInAsync(用户,isPersistent:false,rememberBrowser:false);
}
返回RedirectToAction(“Index”,new{Message=ManageMessageId.SetPasswordSuccess});
}
加法器(结果);
}

请,有人帮我解决这个问题。再次感谢。

你已经完成了代码吗?如果是的话,
userId
在你通过这一行之后的值是多少
var userId=User.Identity.GetUserId();
还有
AddErrors(result);
不应该用
else{}
statement您正在使用哪种身份验证?DJ KRAZE,我已经停止了代码,正如我所说的,它返回0或null,取决于您希望它返回的值的类型。Ryan Schlueter,如果您要求的话,我正在使用MVC web应用程序的默认身份验证。我想看一下这两篇文章,我的g使用annonymous解决身份验证或iis问题