MVC3应用程序中的通用“后退”按钮

时间:2013-03-11 19:07:20

标签: c# asp.net-mvc-3

在asp.net MVC3应用程序中创建通用后退按钮是否有好方法?

目前,我对每个按钮都有不同的操作,当有更多可能性时,我会在Url中添加redirectTo,以便我可以重定向回此Url。这不是最好的解决方案,因为我必须添加所有可能性,我可能会忘记将其添加到特定的表单。

我还教过在js中使用History.Back,但有时它会重定向到一个会重定向回另一个的形式(例如,如果没有铭文,铭文列表会重定向以添加题词,然后如果至少有一个铭文,则单击后退按钮应重定向到铭文列表,但如果没有铭文则单击到课程列表中。后退按钮也会在某个时候关闭弹出窗口。

也许它可能是BaseController中的某个东西,它会在OnActionExecuting()或Global.asax中的某个地方执行,如GlobalFilter

我知道如何做到这一点吗?

3 个答案:

答案 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();
    });

它工作正常,即使对于双重定向,它也会返回到第一页而不是重定向到最后一页的那一页。既然它是一个应用程序,你必须先登录,你几乎总会有一个页面可以回到。