0

我有参数链接:

[http://localhost:8545/Admin/Agent/ManageUser?agentId=3230][1]

更改语言后新链接:[http://localhost:8545/Admin/Agent/ManageUser][2]

有错误,因为没有 ?agentId=3230 我使用:<input type="hidden" name="ReturnUrl" value="@Url.Action(null)" /> 我不知道编辑 @Url.Action(null),请帮助我。谢谢!

4

2 回答 2

0

如果您只需要将用户返回到更改语言之前的相同 URL,只需将完整的 URL 保留在您的隐藏input中,如下所示:

<input type="hidden" name="ReturnUrl" value="@Request.Url.AbsoluteUri" />

此外(假设您的ChangeLanguage方法可以使用相同的主机名访问),您可以简单地执行以下操作:

public ActionResult ChangeLanguage(string lang)
{
    // something like...
    // Session["Lang"] = lang;

    return Redirect(Request.UrlReferrer.ToString());
}
于 2013-07-09T11:22:05.453 回答
0

试试这个输入

<input type="hidden" name="ReturnUrl" value="@Url.Action(ViewContext.RouteData.Values["controller"].ToString(), ViewContext.RouteData.Values["action"].ToString(), new { agentId = Request.QueryString["agentId"] })" />

第一个参数如果Url.Actioncontroller名称,第二个参数是action名称,最后一个参数routeValues可以在 URL 中添加查询字符串。

于 2013-07-09T07:59:13.857 回答