Asp.net mvc 3 ASP.NET MVC返回到正确的视图

Asp.net mvc 3 ASP.NET MVC返回到正确的视图,asp.net-mvc-3,Asp.net Mvc 3,我有一个人控制列表编辑创建方法编辑后的人我返回到人的名单 现在我有了另一个控制者家庭——人是一对多 在“详细信息”族中,我有“编辑”链接到“个人/编辑/Id”的人员列表 当用户在编辑后单击SavePerson时,如果他来自家庭详细信息,我想返回到家庭详细信息;如果他从Person列表编辑Person,我想返回到Peron列表 请帮帮忙 谢谢您可以在编辑页面的查询字符串中传递上一页的URL。您可以使用 HttpContext.Request.UrlReferrer 因此,要返回到上一个视图,您可

我有一个人控制列表编辑创建方法编辑后的人我返回到人的名单

现在我有了另一个控制者家庭——人是一对多

在“详细信息”族中,我有“编辑”链接到“个人/编辑/Id”的人员列表

当用户在编辑后单击SavePerson时,如果他来自家庭详细信息,我想返回到家庭详细信息;如果他从Person列表编辑Person,我想返回到Peron列表

请帮帮忙


谢谢

您可以在编辑页面的查询字符串中传递上一页的URL。

您可以使用

HttpContext.Request.UrlReferrer
因此,要返回到上一个视图,您可以使用以下内容:

Response.Redirect(HttpContext.Request.UrlReferrer.OriginalString);
 @using (Html.BeginForm(new { RedirectUrl = HttpContext.Current.Request.UrlReferrer.OriginalString } )
评论后编辑:

实际上,在这种情况下,您会被发送回编辑页面,如果您不希望任何人看到querystring,您可以做的是:假设您使用html.form发布数据

在“编辑人员”页面上,在表单内部添加以下内容:

Response.Redirect(HttpContext.Request.UrlReferrer.OriginalString);
 @using (Html.BeginForm(new { RedirectUrl = HttpContext.Current.Request.UrlReferrer.OriginalString } )
然后在控制器上拾取它,如下所示:

 public Void Edit(int id, string RedirectUrl)
    {
       //save stuff
       return Redirect(RedirectUrl);
    }

除了他现在离前一个视图有两页远;那只会显示编辑页面。啊,是的。。你说得对,很好。所以他仍然可以使用这个,只是有点不同,让我看看。