ASP.NET MVC3示例项目删除主文件夹

时间:2012-04-20 23:49:53

标签: asp.net-mvc-3

我正在使用ASP.NET MVC3示例项目,并希望在页面中添加直接转到根URL的新链接 所以不是mydomain.com/Home/About而是mydomain / About。

此页面建议添加新路线。 http://weblogs.asp.net/gunnarpeipman/archive/2011/04/17/asp-net-mvc-defining-short-urls-for-root-level-pages.aspx

还有其他方法吗?假设我有5个页面将在根上,我是否必须为每个页面添加特殊路由?

1 个答案:

答案 0 :(得分:0)

假设您正在寻求执行一系列单路径请求/响应,而不仅仅是重定向主控制器操作,那么这是一个选项。

您提供的链接是一种方式。另一种是使用默认路由创建5个控制器。我不确定我是否会建议更好(由于缺少你的5条路径实际上是什么),但它们都会产生同样的结果。如果您的默认路线如下:

routes.MapRoute(
    "Default", // Route name
    "{controller}/{action}/{id}", // URL with parameters
    new { controller = "Home", action = "Index", 
          id = UrlParameter.Optional } // Parameter defaults
); 

基本上说默认控制器是 home ,默认操作是 index 。这些值不是相互包容的,这意味着它们既不需要另一个也不是默认值。

因此你可以这样做:

website.com/about with

public AboutController
{
  public ActionResult index()
  {
    return this.View();
  }
}

和/或 website.com/people

public PeopleController
{
  public ActionResult index()
  {
    return this.View();
  }
}