我将VS2008 ASP.NET MVC 1.0项目发布到本地文件夹,然后将其发布到主机上的虚拟目录中。我试图运行,它抱怨System.Web.Mvc.dll丢失了,所以我复制了它。
在那之后我得到了404。现在我知道它适用于我的HomeController.Index方法,因为它执行一个RedirectToAction。下一个操作(在同一个控制器中)是导致问题的原因。
我有一种感觉,路由不正确。
我和Fiddler一起看了这款应用:
因此,尽管下面的代码是global.asax,但/Home/Details/2并没有映射到我的控制器上:
public static void RegisterRoutes(RouteCollection routes)
{
routes.IgnoreRoute("{resource}.axd/{*pathInfo}");
routes.MapRoute(
"Default", // Route name
"{controller}/{action}/{id}", // URL with parameters
new { controller = "Home", action = "Index", id = "" } // Parameter defaults
);
}
protected void Application_Start()
{
RegisterRoutes(RouteTable.Routes);
}那我错过了什么?
发布于 2010-02-22 08:30:40
发布于 2010-02-10 09:10:08
您只需要部署MVC dll。路由随SP1而来。我建议:
我也经历过类似的情况,不幸的是,我的经验是(主要是IIS 6),我不得不一次又一次地检查和检查所有这些点,并尝试和错误的配置来使它工作。
发布于 2010-02-10 17:26:11
确保服务器安装了ASP.NET MVC1.0RTM--因为它拥有运行mvc站点所必需的所有all (路由、MVC等)。
https://stackoverflow.com/questions/2235022
复制相似问题