我有参数链接:
[http://localhost:8545/Admin/Agent/ManageUser?agentId=3230][1]
更改语言后的新链接: [HTTP://本地主机:8545 /管理/代理/ ManageUser] [2]
有错误因为没有?agentId = 3230
我使用:<input type="hidden" name="ReturnUrl" value="@Url.Action(null)" />
我不知道编辑@ Url.Action(null),请帮帮我。谢谢!
答案 0 :(得分: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.Action
是controller
名称,第二个参数是action
名称,最后一个routeValues
可以在网址中添加查询字符串。
答案 1 :(得分:0)
如果您只需要将用户返回到更改语言之前的相同网址,只需将完整的网址保留在隐藏的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());
}