我正在尝试传入userId和用户通过电子邮件确认注册时生成的代码/令牌。
我对c#相当陌生,无法弄清楚如何将这些值传递到UserManagerExtensions.ConfirmEmail方法中。
这是我当前的代码:
public class EmailController : ApiController
{
[HttpGet]
[Route("ConfirmEmail")]
public async Task<IHttpActionResult> ConfirmEmail(string userId, string code)
{
if (userId == null || code == null)
{
ModelState.AddModelError("", "User Id and Code are required");
return BadRequest(ModelState);
}
IdentityResult result = await UserManagerExtensions.ConfirmEmail(userId, code);
if (result.Succeeded)
{
return Ok();
}
else
{
return Conflict();
}
}
}
它不喜欢我将用户 ID 作为字符串传入!对此的任何帮助都会很棒。
当您使用属性路由时,您需要在 URL 中传递它;因此更改您的路由,如下所示:
[HttpGet]
[Route("ConfirmEmail/{userId}/{code}")]
public async Task<IHttpActionResult> ConfirmEmail(string userId, string code)
{
}
现在您的 URL 将被/Email/ConfirmEmail/userId/code
.