【发布时间】:2017-09-20 09:01:52
【问题描述】:
我需要获取请求的url(来自的Page/ActionMethod的Url)
正如你们看到的,当我点击我的任何a href 时,我正在从我的Language 控制器调用ApplySelectedLanguage ActionResult。
我想通过添加一个隐藏字段来解决这个问题,该字段将被提交并且我可以轻松读取路径,
像这样:“<%= Html.Hidden("requestUrl", Request.RawUrl) %>”
但我不知道这个例子可以放在哪里,所以我可以把它发回来
<ul class="dropdown-menu custom-dropdown-menu">
<li><a href="@Url.Action("ApplySelectedLanguage", "Language", new { Lcid = "1050" })"><%= Html.Hidden("requestUrl", Request.RawUrl) %>EN</a></li>
<li><a href="@Url.Action("ApplySelectedLanguage", "Language", new { Lcid = "3098" })"><%= Html.Hidden("requestUrl", Request.RawUrl) %>DE</a></li>
</ul>
我知道它可以在服务器端使用
解决HttpContext.Request.UrlReferrer,
但我想用隐藏字段解决它。
[HttpPost]
public ActionResult ApplySelectedLanguage(string requestUrl, int Lcid)
{
// requestUrl will contain the url of the page used to
// render the form
...
}
【问题讨论】:
-
不需要隐藏输入 - 只需使用
"@Url.Action("ApplySelectedLanguage", "Language", new { Lcid = "1050", requestUrl = Request.RawUrl })"
标签: javascript html asp.net asp.net-mvc razor