1

我有一个带有历史文件夹的区域,其中我有每年的视图。这些视图被称为例如 Year2010、Year2011 等,仅用于显示历史数据。我试图简单地称它们为 2010、2011,但这似乎违反了命名约定。我不想使用 History/Year2010 路线,而是希望能够只使用 History/2010,这可能吗?如果可以,怎么办?

4

1 回答 1

1

您可以为历史页面添加自定义路由,以便默认操作并将年份作为参数传入。

routes.MapRoute(
    "History",
    "History/{year}",
    new { controller = "History", action = "Display", year = DateTime.Today.Year }
);

然后,在您的控制器中,检查传入的年份并显示正确的视图:

public ActionResult Display(int year)
{
    switch (year)
    {
        case 2010:
            return View("Year2010");
        case 2011:
            return View("Year2011");
    }
    return View();
}
于 2013-04-09T15:59:59.350 回答