1

我正在尝试从 ASP.NET ashx 处理程序到 ASP.NET MVC 3 页面的 Server.Transfer。

我不想使用 Server.Redirect,因为我不想更改 URL。

这可能吗?

4

1 回答 1

1

您可以在通用 HTTP 处理程序中尝试以下操作:

public void ProcessRequest(HttpContext context)
{
    var routeData = new RouteData();
    routeData.Values["controller"] = "Home";
    routeData.Values["action"] = "Index";
    IController controller = new HomeController();
    controller.Execute(new RequestContext(new HttpContextWrapper(context), routeData));
}

显然,这仅在通用 HTTP 处理程序是 ASP.NET MVC 应用程序的一部分时才有效。

如果不是同一个应用程序,那么 HTTP 重定向是您唯一的选择。

于 2011-02-21T21:09:13.033 回答