Asp.net mvc 3 MVC3动态返回URL

Asp.net mvc 3 MVC3动态返回URL,asp.net-mvc-3,Asp.net Mvc 3,我希望有一个视图,其中包含一个链接,该链接将设置为用户从中导航到此视图的任何页面的url 假设我有一个名为InfoPage的视图和相对操作,在这个页面上我想要一个简单的“返回”链接 如果用户位于PageA并导航到InfoPage,则单击“返回”链接将用户返回到PageA 如果用户位于PageB并导航到InfoPage,则单击“返回”链接将用户返回到PageB 我认为最简单的方法是将“ReturnUrl”添加为InfoPage中使用的模型的属性 我的问题是如何获取返回url public

我希望有一个视图,其中包含一个链接,该链接将设置为用户从中导航到此视图的任何页面的url

假设我有一个名为InfoPage的视图和相对操作,在这个页面上我想要一个简单的“返回”链接

如果用户位于PageA并导航到InfoPage,则单击“返回”链接将用户返回到PageA

如果用户位于PageB并导航到InfoPage,则单击“返回”链接将用户返回到PageB

我认为最简单的方法是将“ReturnUrl”添加为InfoPage中使用的模型的属性

我的问题是如何获取返回url

    public ViewResult InfoPage(){
       var model = new InfoPageModel(); 
       //Set my model's other properties here...
       model.ReturnUrl = ''//Where do I get this?
       return view(model);
    }
在我看来

    <a href="@Model.ReturnUrl">Return</a>

最可靠的方法是从调用者页面向页面传递查询字符串参数。指向此页面的每个链接都需要传递自己的URL。(
Request.Url


您还可以在控件中使用
Request.urlReferer
,但并非所有浏览器都发送
Referer
标题。

在任何控制器操作中动态构造返回URL:

var formCollection =
    new FormCollection
        {
            new FormCollection(this.HttpContext.Request.Form),
            new FormCollection(this.HttpContext.Request.QueryString)
        };

var parameters = new RouteValueDictionary();

formCollection.AllKeys
    .Select(k => new KeyValuePair<string, string>(k, formCollection[k])).ToList()
    .ForEach(p => parameters.Add(p.Key, p.Value));

var returnUrl =
    this.Url.Action(
        this.RouteData.Values["action"].ToString(),
        this.RouteData.Values["controller"].ToString(),
        parameters
    );
var formCollection=
新表格集
{
新FormCollection(this.HttpContext.Request.Form),
新FormCollection(this.HttpContext.Request.QueryString)
};
var参数=新的RouteValueDictionary();
formCollection.allkey
.Select(k=>newkeyvaluepair(k,formCollection[k])).ToList()
.ForEach(p=>parameters.Add(p.Key,p.Value));
var returnUrl=
this.Url.Action(
this.RouteData.Values[“action”].ToString(),
this.RouteData.Values[“controller”].ToString(),
参数
);

相关:(相同,但从任何视图中都可以看到)

那么类似于@Html.ActionLink(“更多信息”,“InfoPage”,new{returnUrl=Request.Url})的东西呢??