我需要一个单独的控制器来处理以下内容吗?
http://localhost/bookmarks --> 书签控制器 http://localhost/bookmark/ {bookmarkid} --> 书签控制器
有什么办法可以将它们组合成一个控制器吗?我想保持 uri 的相同,即书签单数表示获取单个书签。
谢谢
我需要一个单独的控制器来处理以下内容吗?
http://localhost/bookmarks --> 书签控制器 http://localhost/bookmark/ {bookmarkid} --> 书签控制器
有什么办法可以将它们组合成一个控制器吗?我想保持 uri 的相同,即书签单数表示获取单个书签。
谢谢
假设一个 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 操作。