使用@Url.Action生成URL
本文关键字:URL 生成 Action @Url 使用 | 更新日期: 2023-09-27 18:18:31
我有一个关于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将变成:
为什么我不直接得到url http://localhost/Group/Edit/ParameterFromJs?为什么我的动作是Edit/ParameterFromJs,而不仅仅是Edit?
你能给我一些提示吗?提前感谢
更新:这是我的路由:
routes.MapRoute("group-edit",
"Group/Edit/{groupName}",
new
{
controller = "Group",
action = "Edit"
}
);
尝试使用routing:
var url = '@Url.Action("Group", "Edit", new { id = "__id__" })'.replace('__id__', myParameterInJavascript);
return '<a href="' + url + '">link</a>';
试着这样写:
<a href="@Url.Action("Edit", "Group", new { EditParam = myParameterInJavascript })">
输入参数时使用"?"而不是"/"
http://localhost/Group/Edit?ParameterFromJs