这是我目前使用的代码:
<% Uri MyUrl = Request.UrlReferrer;
if( MyUrl != null)
Response.Write("<a href=\"" + MyUrl.PathAndQuery + "\">Back</a>"); %>
我认为有一个更“MVC Html帮助”的方式来做一个“后退”按钮。这可能需要有关已经设置的路线,可能参数列表等的更多信息,但我不想假设是这种情况。也许有一些方法可以将url与定义的路径匹配,就像正则表达式的工作方式一样?
答案 0 :(得分:2)
如何在动作过滤器或基本控制器类中添加想要TempData的数据。
每次页面执行时,它都会将其信息添加到TempData,下一页将知道引用者是什么。后退按钮本身将是一个HtmlHelper,它将简单地从TempData获取数据
这样您还可以消除某些用户在请求中不发送引荐来源信息的问题。
答案 1 :(得分:1)
正如您所指出的,除非您拥有已知的工作流程(例如,对于向导),否则基于路由的变量确实太多了。
答案 2 :(得分:1)
我建议将其作为视图模型的一部分,填充在您的操作中。您可以继续使用引荐来填充它,或者甚至可以在您的操作上设置“返回网址”参数,以便调用页面可以提供自己的后备网址。