1

我不知道如何将 asp.net mvc 定向到所需的控制器,以请求我的站点根目录。

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

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

我得到的错误是:

未找到视图“索引”或其主视图,或者没有视图引擎支持搜索的位置。搜索了以下位置:~/Views/Home/Index.aspx ~/Views/Home/Index.ascx ~/Views/Shared/Index.aspx ~/Views/Shared/Index.ascx ~/Views/Home/Index。 cshtml ~/Views/Home/Index.vbhtml ~/Views/Shared/Index.cshtml ~/Views/Shared/Index.vbhtml

如何将网站根请求发送到所需的控制器?

更新:仍然无法解决问题,因此创建了一个开箱即用的新 MVC 项目。我确实多次重命名了原始项目,所以也许这把事情搞砸了。

4

2 回答 2

0

MyController触发,您的 URL 应该看起来像(基于当前路由)http://localhost/MyController

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

于 2011-03-25T04:23:38.340 回答
0

根据错误消息...

  1. 它将转到名为 HomeController 的控制器。所以,我猜你有另一条路线(可能是默认路线?)将它定向到 HomeController?

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

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

routes.MapRoute(
"Default", // 路由名称
"{controller}/{action}/{id}", // 带参数的 URL
new { controller = " MyController ", action = "Index", id = UrlParameter.Optional } // 参数默认值
);

于 2011-03-25T04:24:17.293 回答