2012-10-15 39 views
1

我正在开发一个应用程序,当我去调试应用程序开始于:localhost:54591/Views/Home/Index.aspx,并给我一个资源未找到404错误。MVC路由问题,我很困难

我得到这个同样的问题,当我在网址栏中输入: 本地主机:54591 /浏览/首页/的Index.aspx

但由于某些原因,当我在网址栏中输入: 本地主机:54591 /查看/首页/

它的作品,但现在我的标题菜单格式不正确。

那么是什么给?对于我的生活,我无法弄清楚什么是错的。如果我能弄清楚如何在启动时重新路由到本地主机:54591/Views/Home /我可以找出为什么菜单不起作用,但我确实有一个预感,这些问题是相关的。

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 = UrlParameter.Optional } // Parameter defaults 
     ); 

    } 

任何帮助,非常感谢。

+0

我会建议你阅读一些ASP.NET MVC教程,因为它似乎并不像你掌握了它的工作原理。 – James

回答

2

它不是由路由引起的(在不存在的页面上404除外)。默认情况下,VS将在您当前正在处理的页面上启动网站。因此,如果您在点击F5时处理了Index.aspx,它将尝试打开该视图。

要更改项目设置中的行为 - 更改开始页面:项目属性 - > Web - >更改为“特定页面”。

+0

谢谢,这有助于解决启动问题。那么你认为我的菜单没有正确格式化? –

+0

@BWoods,因为它被打破了正确的路线 - 我认为不相关。 –

0

这是预期的行为。 在MVC应用程序中,您不应该直接访问您的视图,而应该使用您的控制器。

关于格式问题,你就必须提供更多的细节,但你应用程序工作正常

1

本地主机:54591 /浏览/首页/的Index.aspx不应该工作,你应该使用控制器加载视图。 /首页/例如

+0

那么我怎么能加载/首页/在启动而不是视图/首页/索引 –

+0

你的意思是在Visual Studio启动页面?如果是这样,简单的右键单击该项目,并在“Web”页面下设置特定页面或启动url为/ home/ – DaveHogan

+0

亚历克斯回答了下面的问题,让我过去了找不到资源的问题。 –