这是我用来创建顶级链接链接的代码:
@Html.ActionLink("Edit",Url.Action("Edit","Home", new{row.Application_ID}))
// supposed to return /Home/Edit/x (application_id)
相反,它返回: / Home / Home / Edit / x //当前视图为主页/编辑
请帮忙。
编辑1: 路线表信息:
//This is for Edit
routes.MapRoute(
"Edit", // Route name
"Home/Edit/{application_id}", // URL with parameters
new { controller = "Home", action = "Edit", application_id = UrlParameter.Optional } // Parameter defaults
);
// This is the default route, I've modified it to LogOn.
routes.MapRoute(
"Default", // Route name
"{controller}/{action}/{id}", // URL with parameters
new { controller = "Account", action = "LogOn", id = UrlParameter.Optional } // Parameter defaults
);
答案 0 :(得分:0)
您不需要内部@Url.Action
,请尝试此选择:
@Html.ActionLink("Edit", "Edit", "Home", new { application_id = row.Application_ID }, null);
答案 1 :(得分:0)
作为haim770的小版本答案。如果您因某些原因需要使用Url.Action
代替Html.ActionLink
,您可以随意编写它:
<a href="@Url.Action("Edit", "Home", new { application_id = row.Application_ID })">Edit</a>
有些开发人员喜欢这种方式,因为它更类似于普通的Html,但结果与Html.ActionLink相同
答案 2 :(得分:0)
尝试了这项工作并且有效:
<a href="..@Url.Action("Edit",new{application_id})">Edit</a>
现在它将链接返回为主页/编辑/ x :)