也许我不明白asp mvc路由的真正目的。
我创建了一个应用程序,现在我需要修复我的网址a以便更容易理解。
例如,我有控制器Home
和动作Index
的区域Cities
。
所以在这里我需要像这样的网址:localhost/London
但目前的路由我得到localhost/cityPage/Home
。
我的问题是我可以以某种方式传递像city name
这样的参数并使URL像我想要的那样?
这是我的Global.asax当前默认路由如何控制路由值
routes.MapRoute(
"Default",
"{area}/{controller}/{action}/{id}",
new { area = "CityPage", controller = "Home", action = "Index", id = "" },
new string[] { "MyProject.Areas.Cities.Controllers" }).DataTokens.Add("area", "Cities");
新的路由:
routes.MapRoute(null,
"CityPage/{cityName}",
new
{
area = "CityPage",
controller = "Home",
action = "Index"
}
);
routes.MapRoute(
"Default",
"{area}/{controller}/{action}/{id}",
new { area = "CityPage", controller = "Home", action = "Index", id = "" },
new string[] { "MyProject.WebUI.Areas.CityPage.Controllers" }).DataTokens.Add("area", "CityPage");
链接的例子,我点击
@Html.ActionLink("City London", "Index", "Home", new { cityName = "London" }, null)
我加入这个默认之前,但URL不瓒ged :(我如何控制{id}参数? – 1110 2012-01-08 15:02:07
请将您想要控制的{id}参数添加到您的问题中。 – danludwig 2012-01-08 15:12:53
我添加了我的家庭/索引操作方法代码,也许我犯了一些错误。 – 1110 2012-01-08 15:17:35