RouteLink空HREF [英] RouteLink empty Href
问题描述
即时通讯使用MVC3剃刀视图引擎。我想用某条路的HREF
Im using MVC3 with the Razor View Engine. I want to use a certain Route for a Href
以下是路由注册(路线似乎工作,我可以使用浏览器直接使用)
the following is the Route registration, (the route seems to work as i can use the browser to directly use it)
routes.MapRoute(
"AddItem",
"{listAreaName}/{listSlug}/Add",
new { controller = "List", action = "AddItem" }
);
但@ Html.RouteLink是行不通的。它返回一个空HREF的链接
but the @Html.RouteLink just does not work. it returns an empty href for the link
下面是我的一些尝试
@Html.RouteLink("Add New Item", "AddItem", new { controller="List", action="AddItem", listAreaName = Model.ListAreaName, listSlug = Model.Slug })<br />
@Html.RouteLink("Add New Item1", "AddItem", new { controller = "List", listAreaName = Model.ListAreaName, listSlug = Model.Slug })<br />
@Html.RouteLink("Add New Item2", "AddItem", new { action = "AddItem", listAreaName = Model.ListAreaName, listSlug = Model.Slug })<br />
@Html.RouteLink("Add New Item3", "AddItem", new { controller = "list", action = "additem", listAreaName = Model.ListAreaName, listSlug = Model.Slug })<br />
@Html.RouteLink("Add New Item4", "additem", new { controller = "List", action = "AddItem", listAreaName = Model.ListAreaName, listSlug = Model.Slug })<br />
@Html.RouteLink("Add New Item5", "additem", new { listAreaName = Model.ListAreaName, listSlug = Model.Slug })<br />
@Html.RouteLink("Add New Item6", "AddItem", new { controller = "ListController", action = "AddItem", listAreaName = Model.ListAreaName, listSlug = Model.Slug })<br />
如果我错过了航线名称,它产生的工作联系,但它没有以正确的格式
if I miss out the route name, it generates working link, but its no in the right format
最让我发现材料是V1的preVIEW发布。有这个问题进行排序?
most of the material i found was for a preview release of v1. has this issue be sorted?
任何想法的?
推荐答案
在你有一个错误的最后一个路由链路,则不应使用控制器
后缀:
In the last route link you have a mistake, you should not use the Controller
suffix:
@Html.RouteLink(
"Add New Item6",
"AddItem",
new {
controller = "List",
action = "AddItem",
listAreaName = Model.ListAreaName,
listSlug = Model.Slug
}
)
至于其他人来说他们都生成以下网址: / ListAreaName /弹头/添加
在ASP.NET MVC 3 RTM假设你有缺省路由设置并且您已经添加在你的问题中所示的路线。
As far as the others are concerned they all generate the following url: /ListAreaName/Slug/Add
in ASP.NET MVC 3 RTM assuming you have the default routes setup and you have added the route shown in your question.
这篇关于RouteLink空HREF的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!