質問

以下のために別のコントローラーが必要ですか?

http:// localhost / bookmarks -<!> gt;ブックマークコントローラー http:// localhost / bookmark / {bookmarkid}-<!> gt;ブックマークコントローラー

両方を1つのコントローラーに結合する方法はありますか? uriを同じままにします。つまり、単一のブックマークを取得することを示すブックマーク単数形です。

ありがとう

役に立ちましたか?

解決

C#開発環境を想定

Global.asax:

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

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

BookmarksController:

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 は、ブックマークコントローラーのブックマークアクションをヒットし、 http:// localhost / bookmark / 123456 は、ブックマークコントローラーのブックマークアクションをヒットします。

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top