2012-11-27 156 views
0

模擬一個JavaScript的history.back我有這樣的javascript代碼:使用剃刀

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

當我測試的網站(使用HTML5,MVC4)在瀏覽器中,它工作正常。但是當我使用嵌入式瀏覽器在Android/iPhone應用程序中運行它時,我的後退鏈接不起作用。

有沒有一種方法來模擬history.back使用剃刀一樣Url.Action

+0

當你說Android應用你的意思是Android瀏覽器? – gideon

+0

Android應用程序與瀏覽器內嵌 – sebagiar

回答

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繼承和包含上面的代碼(如例如方法)。

+0

謝謝你,但我會盡量不使用會話。 – sebagiar