gpt4 book ai didi

c# - 使用 HttpResponse.Redirect 重定向到新的 url C# MVC

转载 作者:太空狗 更新时间:2023-10-29 19:52:59 24 4
gpt4 key购买 nike

我正在努力使用 HttpResponse.Redirect 方法。我以为它会包含在 System.Web 中,但我得到了

The name 'Response' does not exist in the current context" error.

这是整个 Controller :

using System.Net;
using System.Net.Http;
using System.Text;
using System.Web;
using System.Web.Http;

namespace MvcApplication1.Controllers
{
public class SmileyController : ApiController
{
public HttpResponseMessage Get(string id)
{
Response.Redirect("http://www.google.com");
return new HttpResponseMessage
{
Content = new StringContent("[]", new UTF8Encoding(), "application/json"),
StatusCode = HttpStatusCode.NotFound,
};
}
}
}

最佳答案

您可以使用以下行在您的操作方法中获取当前请求的 HttpResponse 对象:

HttpContext.Current.Response

所以你可以这样写:

HttpContext.Current.Response.Redirect("http://www.google.com");  

无论如何,您使用的是 HttpResponseMessage,因此正确的重定向方式应该是这样的:

public HttpResponseMessage Get(string id)
{
// Your logic here before redirection

var response = Request.CreateResponse(HttpStatusCode.Moved);
response.Headers.Location = new Uri("http://www.google.com");
return response;
}

关于c# - 使用 HttpResponse.Redirect 重定向到新的 url C# MVC,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19294568/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com