Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/file/3.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# 我想将应用程序重定向到ASP.NET Core中的外部url_C#_Asp.net Mvc_Asp.net Core - Fatal编程技术网

C# 我想将应用程序重定向到ASP.NET Core中的外部url

C# 我想将应用程序重定向到ASP.NET Core中的外部url,c#,asp.net-mvc,asp.net-core,C#,Asp.net Mvc,Asp.net Core,我想通过上述方法将用户重定向到urlgoogle.com。任何帮助都将不胜感激。使用控制器重定向方法: 我想从上面重定向到用户的url google.com 方法。任何帮助都将不胜感激 我使用您的代码创建了一个示例,它将显示以下错误: InvalidOperationException:在尝试激活“Test.Controllers.HomeController”时,无法解析类型“Microsoft.AspNetCore.Http.IHttpContextAccessor”的服务。 在Config

我想通过上述方法将用户重定向到url
google.com
。任何帮助都将不胜感激。

使用控制器重定向方法:

我想从上面重定向到用户的url google.com 方法。任何帮助都将不胜感激

我使用您的代码创建了一个示例,它将显示以下错误:

InvalidOperationException:在尝试激活“Test.Controllers.HomeController”时,无法解析类型“Microsoft.AspNetCore.Http.IHttpContextAccessor”的服务。

在ConfiguralServices方法(在startup.cs文件中)中注册IHttpContextAccessor后,代码运行良好,它将重定向到外部url。请检查您的代码并尝试注册

IHttpContextAccessor _httpContextAccessor;

public void GoToUrl()
{
    var authorizationRequest = "https://www.google.com/";                       
    _httpContextAccessor.HttpContext.Response.Redirect(authorizationRequest);
}
最后,如果上述方法仍然不起作用,您可以将外部url返回到客户端,然后使用
window.location.href
属性显示外部网页

控制器中的代码:

    //Try to use IActionResult, instead of `void`.
    public IActionResult GoToUrl()
    {
        var authorizationRequest = "https://www.google.com/";
        // assuming that you are in the controller.                    
        return this.Redirect(authorizationRequest);
    }
视图中的代码:

    public IActionResult GoToUrl()
    {
        var authorizationRequest = "https://www.google.com/";                 
        return Json(authorizationRequest); 
    }

$(函数(){
$(“#btnDirect”)。单击(函数(){
event.preventDefault();
$.ajax({
键入:“获取”,
url:“/Home/GoToUrl”,
成功:功能(数据){
console.log(数据)
window.location.href=数据;
} 
});
});
});

I'm Get error Redirect在其MVC核心Athanasios Katarasys的当前上下文中不存在。但是,我的方法在一个类中,不在控制器@Athanasios KatarasMy bad中,你需要控制器重定向方法,检查更新的答案。你需要冒泡出一个控制器需要重定向的指示器。这是控制器应该返回的值。如果我不想从controller@Athanasios katarast重定向该怎么办?这不是我要做的。我不需要在单击按钮后重定向到url,也不需要从控制器重定向到url。只需要将用户从类中不在controller@Zhi Lv中的void方法重定向到url
    public void ConfigureServices(IServiceCollection services)
    {
        services.TryAddSingleton<IHttpContextAccessor, HttpContextAccessor>();
    //Try to use IActionResult, instead of `void`.
    public IActionResult GoToUrl()
    {
        var authorizationRequest = "https://www.google.com/";
        // assuming that you are in the controller.                    
        return this.Redirect(authorizationRequest);
    }
    public IActionResult GoToUrl()
    {
        var authorizationRequest = "https://www.google.com/";                 
        return Json(authorizationRequest); 
    }
<input type="button" id="btnredirect" class="btn btn-info" value="Redirect" />
<script>
    $(function () {
        $("#btnredirect").click(function () {
            event.preventDefault(); 
            $.ajax({
                type: "Get",
                url: "/Home/GoToUrl",  
                success: function (data) {
                    console.log(data)
                    window.location.href = data; 
                } 
            });

        });
    });
</script>