【问题标题】:ActionLink back buttonActionLink 后退按钮
【发布时间】:2011-01-13 22:36:17
【问题描述】:

我有一个 Index 方法,它具有显示帖子列表和查询的帖子列表的双重职责,并且还可以有页面,以便您获得像 /News/Page/1/News?query=test 这样的网址

当用户点击News/Details/1 上的帖子时,他们会得到一个简单的 ActionLink 将他们带回列表。但我希望这个链接能把他们带回到他们在分页或查询方面的实际页面。我怎么能这样做?我不想使用 JavaScript 历史记录方法。这是我当前的 ActionLink:<%=Html.ActionLink("<< Back to News List", "Index")%>,这是分页链接的示例:<%= Html.RouteLink("<< First Page", "NewsPaging", new { query = ViewData["query"], page = 0 })%>

谢谢

【问题讨论】:

    标签: asp.net-mvc actionlink


    【解决方案1】:

    仅使用 javascript 将它们发送回其历史记录中的最后一页可能会更容易(无需创建指向特定页面的链接)。

    history.go(-1)
    

    【讨论】:

      【解决方案2】:

      我会选择像

      这样的 ActionLink
      <%=Html.ActionLink("<< Back to News List", "Index")%>
      

      因为用户可以直接访问News/Details/1,如果您有一个使用history.go(-1)history.back() 函数的链接,它不会将其重定向到索引操作

      【讨论】:

        【解决方案3】:

        另一种方法是在控制器中创建链接并将其分配给模型的属性或简单的 ViewBag 变量(取决于您)。对于这个示例,我将只使用 ViewBag。

        因此,在您的示例中,从 /News/Details/1 回到 /News/Page/1?some-querystring,您可以执行以下操作:

        在您的控制器中(假设“1”是“id”):

        ViewBag.BackButton = String.Format("/News/Page/{0}{1}", id.ToString(), Request.Url.Query);
        

        在你看来:

        <a href="@ViewBag.BackButton">&lt; Back</a>
        

        一个缺点是您必须知道上一页是/可能是什么。在你的情况下,你希望你的后退按钮回到你的列表,所以这种技术应该没问题。

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 1970-01-01
          • 2013-05-09
          • 1970-01-01
          • 1970-01-01
          • 2011-09-03
          • 2014-10-07
          • 1970-01-01
          • 1970-01-01
          相关资源
          最近更新 更多