首先让我解释一下,我使用的是托管解决方案,在 IIS 6 的配置和设置方面我无能为力。
我有 MVC2 在一定程度上工作,我正在使用以下 Global.asax 代码:
public static void RegisterRoutes(RouteCollection routes)
{
routes.IgnoreRoute("{resource}.axd/{*pathInfo}");
routes.MapRoute(
"Default",
"{controller}.aspx/{action}/{id}",
new { action = "Index", id = "" }
);
routes.MapRoute(
"Root",
"",
new { controller = "Default", action = "Index", id = "" }
);
}
在第一条路线中,我必须指定 {controller}.aspx,因为 IIS 6 无法执行非 aspx 代码(或类似的东西,不太确定)。
这很好,以下工作:hxxp://mysite.com/home.aspx、hxxp://mysite.com/projects.aspx、hxxp://mysite.com/contact.aspx
它们都是控制器,我也可以执行他们尊重的操作。
问题是我不能正确地创建一个空 URL(即 hxxp://mysite.com/),它给了我一个“目录列表被拒绝”错误。
我的问题是使用位于根目录的 default.aspx 文件(确实执行),我可以在不使用简单的 Response.Redirect 的情况下加载 Home 控制器吗?
谢谢你,马修