在MVC中,我是否必须实现自定义错误过滤器以将用户从错误页面重定向回来?

时间:2013-09-12 17:05:48

标签: asp.net-mvc back

出于可用性原因,我要求错误页面告诉用户

Sorry, we could not find this product in our database. You can go back to the previous page or search for a different product.

其中go back链接应该提供与后退按钮相同的功能。

我尝试使用Request.UrlReferrer实现它,但它在冒烟测试中是空的。我发现an answer here on SO表示浏览器可以设置为不发送和

  

底线是你不应该相信它。只需将URL附加到GET字符串并重定向即可。

但是当使用MVC的默认异常处理过滤器显示此视图时,我无法将其附加到我的代码中,因为它不会将用户首先发送到视图。

如果我想要这个功能,我是否必须编写自己的异常处理过滤器,或者有更简单的方法吗?如果我必须写它,有什么缺陷需要注意?如果这意味着我们的代码的复杂性大幅增加并且让用户点击他们自己的后退按钮,我们可能会删除链接要求,但我没有经验来进行估算。

1 个答案:

答案 0 :(得分:1)

我建议用JavaScript解决这个问题。尝试

window.history.back()

作为锚标记的onclick事件。