重定向到网页C#API

时间:2015-12-07 15:56:54

标签: c# asp.net-web-api

我的api和帐户管理方面没什么问题。每当用户创建新帐户时,都必须通过单击通过电子邮件发送的链接来确认。这完全没问题。 但是,当用户单击该链接时,它会打开一个空白的浏览器窗口。现在,我想将用户重定向到提供应用程序说明的网页。经过一番研究,我找到了"重定向(string url)"命令。

[HttpGet]
[AllowAnonymous]
[Route("ConfirmEmail", Name = "ConfirmEmailRoute")]
public async Task<IHttpActionResult> ConfirmEmail(string userId = "", string code = "")
{
    if (string.IsNullOrWhiteSpace(userId) || string.IsNullOrWhiteSpace(code))
    {
        ModelState.AddModelError("", "User Id and Code are required");
        return BadRequest(ModelState);
    }

    IdentityResult result = await this.AppUserManager.ConfirmEmailAsync(userId, code);

    if (result.Succeeded)
    {
        Redirect("http://www.orf.at");
        return Ok();
    }
    else
    {
        return GetErrorResult(result);
    }
}

地址应该只是一个例子。但是,只要单击链接,浏览器仍会打开一个空白选项卡。有可能避免这种情况吗?最好的解决方案是将用户重定向到另一个站点。但如果这不起作用,可以以某种方式防止打开一个新窗口吗?

1 个答案:

答案 0 :(得分:2)

而不是返回Ok()返回Redirect("http://www.orf.at");

if (result.Succeeded)
{
    return Redirect("http://www.orf.at");
}
else
{
    return GetErrorResult(result);
}