1

我正在使用 ASP.NET MVC3 示例项目,并希望将新链接添加到直接转到根 url 的页面中,因此,mydomain.com/Home/About 将代替 mydomain.com/Home/About。

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

还有其他方法吗?假设我有 5 个页面将位于根目录上,我是否必须为每个页面添加一条特殊路线?

4

1 回答 1

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

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

和/或website.com/people

public PeopleController
{
  public ActionResult index()
  {
    return this.View();
  }
}
于 2012-04-21T00:00:18.950 回答