2

我需要一个单独的控制器来处理以下内容吗?

http://localhost/bookmarks --> 书签控制器 http://localhost/bookmark/ {bookmarkid} --> 书签控制器

有什么办法可以将它们组合成一个控制器吗?我想保持 uri 的相同,即书签单数表示获取单个书签。

谢谢

4

1 回答 1

4

假设一个 C# 开发环境

全球.asax:

routes.MapRoute(
  "Bookmarks",
  "bookmarks",
  new { controller = "Bookmarks", action = "Bookmarks"}
);

routes.MapRoute(
  "Bookmark",
  "bookmark/{bookmarkid}",
  new { controller = "Bookmarks", action = "Bookmark" }
);

书签控制器:

public ActionResult Bookmarks()
{
   //Get all bookmarks, I presume. :)
   return View();
}

public ActionResult Bookmark(string bookmarkid)
{
   //Do stuff with the bookmark id
   return View();
}

使用此路由方案,http://localhost/bookmarks将点击 Bookmarks 控制器中的 Bookmarks 操作,而http://localhost/bookmark/123456将点击 Bookmarks 控制器中的 Bookmark 操作。

于 2008-12-07T17:14:53.970 回答