在asp.net MVC3应用程序中创建通用后退按钮是否有好方法?
目前,我对每个按钮都有不同的操作,当有更多可能性时,我会在Url中添加redirectTo,以便我可以重定向回此Url。这不是最好的解决方案,因为我必须添加所有可能性,我可能会忘记将其添加到特定的表单。
我还教过在js中使用History.Back
,但有时它会重定向到一个会重定向回另一个的形式(例如,如果没有铭文,铭文列表会重定向以添加题词,然后如果至少有一个铭文,则单击后退按钮应重定向到铭文列表,但如果没有铭文则单击到课程列表中。后退按钮也会在某个时候关闭弹出窗口。
也许它可能是BaseController中的某个东西,它会在OnActionExecuting()
或Global.asax中的某个地方执行,如GlobalFilter
?
我知道如何做到这一点吗?
答案 0 :(得分:3)
您可以使用Request.UrlReferrer
轻松访问用户来自的位置。
你可以有以下几点:
<button type="button" onclick="window.location='@Request.UrlReferrer.AbsoluteUri'" >Back</button>
但是,如果用户已直接导航到该页面,UrlReferrer
将无法使用。
答案 1 :(得分:2)
<a class="back_button" href="@Request.UrlReferrer"><i class="icon-circle-arrow-left"></i>@ViewResources.ShipingLine.back</a>
您可以使用href =“@ Request.UrlReferrer”返回第一步。
我已经测试了它并且运行良好。
Avtandil kavrelishvili
答案 2 :(得分:1)
我最终做的是覆盖javascript中的按钮:
$('.cancel-btn').click(function(ev) {
ev.preventDefault();
history.back();
});
它工作正常,即使对于双重定向,它也会返回到第一页而不是重定向到最后一页的那一页。既然它是一个应用程序,你必须先登录,你几乎总会有一个页面可以回到。