1

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

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

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

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

知道我该怎么做吗?

4

3 回答 3

3

您可以使用Request.UrlReferrer它轻松访问用户的来源。

你可以有一些类似的东西:

<button type="button" onclick="window.location='@Request.UrlReferrer.AbsoluteUri'" >Back</button>

但是,UrlReferrer如果用户直接导航到该页面,则该选项将不可用。

于 2013-03-11T21:35:34.403 回答
2
<a class="back_button" href="@Request.UrlReferrer"><i class="icon-circle-arrow-left"></i>@ViewResources.ShipingLine.back</a>

您可以使用 href="@Request.UrlReferrer" 返回页面第一步。

我已经对其进行了测试,并且运行良好。

阿夫坦迪尔·卡夫雷利什维利

于 2013-10-18T06:41:38.440 回答
1

我最后做的是覆盖 javascript 中的按钮:

    $('.cancel-btn').click(function(ev) {
        ev.preventDefault();
        history.back();
    });

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

于 2013-03-25T19:15:46.643 回答