MVC:如何将html中的下一页url传回给客户端?

时间:2017-07-26 21:07:20

标签: javascript jquery asp.net asp.net-mvc infinite-scroll

我们有无限的滚动页面,我们从MVC控制器服务器端获得html,即

<li>...</li>

我们需要将下一页网址发送回javascript客户端,以便在用户滚动到底部时,它可以向服务器发出请求以获取下一组列表。

我们在服务器上有下一页网址。 JS客户端需要点击此URL以获取下一组列表。

我没有任何明确的想法如何将此下一页网址从服务器发送到客户端。一种方法是将下一页网址绑定到最后一个<li>...</li>标记内,并从客户端上的最后一个{{1}}标记中读取它。

有没有更好的方法来解决这个问题?

3 个答案:

答案 0 :(得分:1)

我不太确定您的请求的响应当前是什么样的,但如果可能的话,我会从服务器重构您的响应有效负载,如下所示:

{
  nextPage: 'someUrl',
  data: '<li>...</li>'
}

这样您就不必将URL隐藏到标记中,并且您的视图和控制器逻辑保持分离:)

答案 1 :(得分:0)

在最后一个li标签之后,您可以使用脚本标记并在全局变量中存储next-page-url的值。然后,您可以随时轻松获得该值。

<li>....</li>
<li>....</li>
<li>....</li>
<li>....</li>
<script>nextPageUrl="@Model.nextPageUrl";</script>

这样您就不必在最后一个li标签中绑定URL。

答案 2 :(得分:0)

由于您要返回html,只需在li上的数据标记中返回网址。

<li data-next-page="www.google.com/foo/bar">stuff</li>

然后,使用以下jQuery来下次获取它。

var nextUrl = $('#ulContainer').find('li').last().data('next-page');