我正在使用 MVC beta 编写一个简单的应用程序来理解 ASP.Net MVC。该应用程序是一个带有标签的简单照片/视频共享站点。我正在处理 MVC 骨架项目。我在导航栏中添加了一些 Html.ActionLink(),但是我在一个地方添加的 Html.ActionLink() 之一出现问题。
我希望 ~/Tags 显示数据库中的所有标签,我希望 ~/Tags/{tag} 显示所有带有 {tag} 标记的文件的列表。这按预期工作,但是当我关注 ~/Tags/{tag} 时,它会将导航栏中的 Html.ActionLink() 更改为与 ~/Tags/{tag} 链接相同,而不仅仅是指向 ~ /标签。我不明白为什么当我跟随 ~/Tags/{tag} 时导航栏中的 ActionLink() 会发生变化。如果我导航到项目中的其他链接,ActionLink() 将按预期工作。
我有这样的操作链接和路由设置。我的 TagsController 有这个 Index 动作。整数?用于分页控制。我有两个视图,一个称为全部,一个称为详细信息。我究竟做错了什么?
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)
}