use*_*552 16 c# asp.net-mvc razor asp.net-mvc-4
从页面我有以下内容:
@using (Html.BeginForm("AddEntry", "Configure", FormMethod.Get, new { returnUrl = this.Request.RawUrl }))
{
@Html.TextBox("IP")
@Html.Hidden("TypeId", 1)
<input type="submit" value="@Resource.ButtonTitleAddComponent" />
}
Run Code Online (Sandbox Code Playgroud)
所以控制器被正确调用:
public ActionResult AddEntry(string ip, int TypeId, string returnUrl)
{
// Do some stuff
return Redirect(returnUrl);
}
Run Code Online (Sandbox Code Playgroud)
我的问题是returnUrl获取null并且它不会重定向到调用控制器的同一页面.想法?
使用:ASP.NET MVC 4 Razor
vid*_*uch 40
如果您需要返回类似于详细信息页面的内容并返回到包含查询的同一页面,您也可以执行此操作:
return Redirect(Request.UrlReferrer.PathAndQuery);
Run Code Online (Sandbox Code Playgroud)
Fal*_*als 14
您可以从Request控制器中获取Refer URL :
public ActionResult AddEntry(string ip, int TypeId, string returnUrl)
{
// Do some stuff
string url = this.Request.UrlReferrer.AbsolutePath;
return Redirect(url);
}
Run Code Online (Sandbox Code Playgroud)
这会将您重定向到调用URL.
Fel*_*ani 12
Request.QueryString对于示例,您可以使用方法从URL获取一些值:
@using (Html.BeginForm("AddEntry", "Configure", FormMethod.Get, null))
{
@Html.TextBox("ip")
@Html.Hidden("TypeId", 1)
@Html.Hidden("returnUrl", this.Request.RawUrl)
<input type="submit" value="@Resource.ButtonTitleAddComponent" />
}
Run Code Online (Sandbox Code Playgroud)
在控制器中,将其作为参数接收string returnUrl.
在你的控制器类中使用Request.UrlReferrer.没有必要从页面传递URL.
public ActionResult AddEntry(string ip, int TypeId)
{
// Do some stuff
return Redirect(Request.UrlReferrer.ToString());
}
Run Code Online (Sandbox Code Playgroud)