私はMVCベータ版を使用して、ASP.NetMVCを理解するための簡単なアプリケーションを作成しています。このアプリケーションは、タグ付けされたシンプルな写真/ビデオ共有サイトです。私はMVCスケルトンプロジェクトに取り組んでいます。ナビゲーションバーにいくつかのHtml.ActionLink()を追加しましたが、1つの場所に追加したHtml.ActionLink()の1つに問題があります。
〜/ Tagsにデータベースのすべてのタグを表示させ、〜/ Tags/{tag}に{tag}でタグ付けされたすべてのファイルのリストを表示させたい。これは期待どおりに機能しますが、〜/ Tags / {tag}をたどると、ナビゲーションバーのHtml.ActionLink()が、〜を指すのではなく、〜/ Tags/{tag}リンクと同じになるように変更されます。 /タグ。〜/ Tags / {tag}をたどると、ナビゲーションバーのActionLink()が変化する理由がわかりません。プロジェクト内の別のリンクに移動すると、ActionLink()は期待どおりに機能します。
アクションリンクとルートをこのように設定しました。私のTagsControllerにはこのインデックスアクションがあります。int?ページング制御用です。2つのビューがあります。1つはAllと呼ばれ、もう1つはDetailsと呼ばれます。私は何が間違っているのですか?
Html.ActionLink("Tags", "Index", "Tags") // In navigation bar
routes.MapRoute(
"Tags",
"Tags/{tag}",
new
{
controller = "Tags", action = "Index", tag = "",
});
public ActionResult Index(string tag, int? id )
{ // short pseudocode
If (tag == "")
return View("All", model)
else
return View("Details", model)
}