我有这样的javascript代码:
<a href="javascript:window.history.back()"...
当我在浏览器中测试我的网站(使用HTML5,MVC4)时,它可以正常工作。但是当我使用嵌入式浏览器在Android / iPhone应用程序中运行它时,我的后退链接不起作用。
有没有办法使用剃须刀模拟history.back
,例如Url.Action
?
答案 0 :(得分:1)
您可以在会话中保存上一页网址。像这样:
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继承并包含上面的代码(例如,作为方法)。