用于网站根请求的asp.net mvc路由条目

时间:2011-03-25 04:16:42

标签: asp.net-mvc-3 asp.net-routing

我无法弄清楚如何将asp.net mvc指向所需的控制器以获取对我网站根目录的请求。

我在RegisterRoutes中尝试了很多不同的条目,包括:

routes.MapRoute(
     "MyHome",
      "",
      new { controller = "MyController", action = "Index", id = UrlParameter.Optional }
 );

我得到的错误是:

未找到视图“索引”或其主控,或者没有视图引擎支持搜索的位置。搜索了以下位置: 〜/浏览/首页/的Index.aspx 〜/浏览/首页/ Index.ascx 〜/查看/共享/的Index.aspx 〜/查看/共享/ Index.ascx 〜/浏览/首页/ Index.cshtml 〜/浏览/首页/ Index.vbhtml 〜/查看/共享/ Index.cshtml 〜/ Views / Shared / Index.vbhtml

如何让网站根请求转到所需的控制器?

更新:仍然无法修复问题,因此创建了一个开箱即用的新MVC项目。我曾经多次重命名原始项目,所以也许在某个地方搞砸了。

2 个答案:

答案 0 :(得分:0)

要启动MyController,您的网址应该如下(基于当前路由)http://localhost/MyController

看着你的错误,我感觉你是从空的MVC项目模板开始的。是这样的吗?

答案 1 :(得分:0)

根据错误讯息...

  1. 它将转到名为HomeController的控制器。所以,我猜你有另一条路线(也许是默认路由?)将它引导到HomeController?

  2. 错误消息是关于视图而不是控制器。这与路由不同。

  3. 实现所要求的最简单方法是编辑创建MVC3项目时创建的默认路由。

    routes.MapRoute(
                    “默认”,//路线名称
                    “{controller} / {action} / {id}”,//带参数
    的网址                 new {controller =“ MyController ”,action =“Index”,id = UrlParameter.Optional} //参数默认值
                );