我对Url.Action有疑问。
我的位置在http://localhost/User/Edit,在某些情况下,我必须生成一个带有javascript函数的链接,所以它会是这样的:
return '<a href="@Url.Action("Group","Edit")/' +myParameterInJavascript +'>link</a>';
如果我查看链接,那就没关系,我得到了:http://localhost/Group/Edit/ParameterFromJs
但是,当我的当前职位是http://localhost/Group/Edit/ParameterFromJs时
然后我再次生成相同的链接,URL将变为:
http://localhost/Group/Edit/ParameterFromJs/ParameterFromJs
为什么我不拿到网址http://localhost/Group/Edit/ParameterFromJs? 为什么我的动作是Edit / ParameterFromJs,而不仅仅是编辑?
你能给我一些提示或提示吗?提前致谢
更新: 这是我的路线:
routes.MapRoute("group-edit",
"Group/Edit/{groupName}",
new
{
controller = "Group",
action = "Edit"
}
);
答案 0 :(得分:5)
尝试使用路由:
var url = '@Url.Action("Group", "Edit", new { id = "__id__" })'.replace('__id__', myParameterInJavascript);
return '<a href="' + url + '">link</a>';
答案 1 :(得分:0)
尝试使用类似的东西:
<a href="@Url.Action("Edit", "Group", new { EditParam = myParameterInJavascript })">
当你输入参数时使用“?”不是“/”
http://localhost/Group/Edit?ParameterFromJs