我正在尝试从ASP.NET ashx处理程序到ASP.NET MVC 3页面执行Server.Transfer。
我不想使用Server.Redirect,因为我不想更改URL。
这可能吗?
答案 0 :(得分: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));
}
显然,只有Generic HTTP处理程序是ASP.NET MVC应用程序的一部分时,这才有效。
如果它不是同一个应用程序,则HTTP重定向是您唯一的选择。