0

我有这样的javascript代码:

<a href="javascript:window.history.back()"...

当我在浏览器中测试我的网站(使用 HTML5、MVC4)时,它运行良好。但是当我使用嵌入式浏览器在 Android/iPhone 应用程序中运行它时,我的反向链接不起作用。

有没有办法模拟history.back使用剃须刀,比如Url.Action

4

1 回答 1

1

您可以在会话中保存上一页 url。像这样的东西:

public ActionResult SomeCoolController(SomeCoolClass parameters) {
    //some logic

    var previousPageUrl = Session["PreviousPageUrl"];
    if(previousPageUrl == null)
        Session["PreviousPageUrl"] = Request.Url;

    var isTimeToChangePreviousUrl = Session["IsTimeToChangePreviousUrl"];
    if(isTimeToChangePreviousUrl != null) {
        if(isTimeToChangePreviousUrl) {
            Session["IsTimeToChangePreviousUrl"] = false;
            Session["PreviousPageUrl"] = Request.Url;
        } else {
            Session["IsTimeToChangePreviousUrl"] = true;
        }
    } else {
        Session["IsTimeToChangePreviousUrl"] = false;
    }

    //some return
}

另外,不要总是复制/粘贴此代码,您可以编写自己的 SuperDupaActionResult ,它将继承自 ActionResult 并包含上面的代码(例如作为方法)。

于 2012-11-27T19:28:33.793 回答