我正在尝试从 ASP.NET ashx 处理程序到 ASP.NET MVC 3 页面的 Server.Transfer。
我不想使用 Server.Redirect,因为我不想更改 URL。
这可能吗?
我正在尝试从 ASP.NET ashx 处理程序到 ASP.NET MVC 3 页面的 Server.Transfer。
我不想使用 Server.Redirect,因为我不想更改 URL。
这可能吗?
您可以在通用 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 重定向是您唯一的选择。