C#重定向怎么实现http://10.60.209.52:8888/LCM/LCMTemplateInfoView,而不是http://10.60.209.52:8888/Home/Index#//LCM/LCMTemplateInfoView
时间: 2024-09-19 14:06:41 浏览: 57
C#中的URL重定向通常通过`System.Web.Routing`或ASP.NET Core的`IApplicationBuilder.UseRouting()`来实现。然而,如果你是在一个非ASP.NET Core项目中,比如使用Web Forms或Mvc,你可以直接在服务器端设置HTTP响应头来完成重定向。
**非ASP.NET Core情况下(如Web Forms)**:
在`Global.asax.cs`或`.config`文件中,可以这样重定向:
```csharp
protected void Application_BeginRequest(object sender, EventArgs e)
{
string requestUrl = Request.Url.ToString();
if (requestUrl.StartsWith("/Home/Index#//LCM/LCMTemplateInfoView"))
{
// 仅当请求路径与指定模式匹配时才执行重定向
Response.Redirect($"http://10.60.209.52:8888/LCM/LCMTemplateInfoView", true);
}
}
```
**ASP.NET Core情况**:
在Startup.cs的Configure方法中,使用`UseRouting()`并设置`RedirectToRoute`:
```csharp
app.UseRouting()
.MapGet("/Home/Index#//LCM/LCMTemplateInfoView", async context =>
{
await context.Response.RedirectToHostAsync("/LCM/LCMTemplateInfoView");
});
```
注意,`RedirectToHostAsync`会跳转到域名+路径的形式,所以不需要完整的URL。
阅读全文