0

次のようなJavaScriptコードがあります。

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

ブラウザーで (HTML5、MVC4 を使用して) Web サイトをテストすると、正常に動作します。しかし、組み込みブラウザーを使用して 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 に答える