C# 我想将应用程序重定向到ASP.NET Core中的外部url
我想通过上述方法将用户重定向到urlC# 我想将应用程序重定向到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
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>