【问题标题】:ASP.NET MVC ajax pagination with partial view带有部分视图的 ASP.NET MVC ajax 分页
【发布时间】:2012-06-22 03:00:22
【问题描述】:

我有一个搜索页面,它使用简单的 ajax 请求从控制器获取新的搜索结果。

控制器将结果作为呈现的 html 返回,因此客户端脚本所要做的就是 $('#results').html(data);

html 还包含分页链接。

我想将点击处理程序添加到 ajax 成功事件处理程序中的这些分页链接,但我发现从 A 的文本属性中获取页码有点令人讨厌。假设链接可以读取“第 1 页” ,“第 2 页”,然后我会解析文本。

我做错了吗?

我应该改为在局部视图中生成 ajax 链接吗?

【问题讨论】:

  • 你用什么mvc视图引擎?
  • 列出您的代码,并提出具体问题。
  • 我的问题很具体,只是你没看懂。您删除的通用“这里有一些链接”响应就是证明。您是否因为我拒绝了您的回答而对我的问题投了反对票?
  • 我已要求提供反馈以更好地理解您的代码。你的回应表明你不尊重那些愿意帮助的人“这是一个通用的回应,对我没有任何帮助”——这是你的回应,你拒绝了我试图帮助你的决定。 . 你是个奇怪的人。

标签: jquery asp.net-mvc pagination


【解决方案1】:

页码可以存储为a 元素的数据。您可以在连接事件处理程序时参考该 data。传统上——即在我的旧应用程序中——我会这样做:

<a href="#" name="myLink" data="<%: [pageNumber] %>">
  Page <%: [pageNumber] %>
</a>

然后在 jquery 端(即 ajax 回调):

$('a[name=myLink]').click( function (e) {
  e.preventDefault();
  var pageNumber = $(this).attr('data');
  // do what you have to do with the pageNumber
});

但如果您要走这条路,您可以(并且应该)参考jQuery data function

【讨论】:

  • 这是我考虑的方法之一。困难在于 PagedList.MVC 不支持链接上的自定义属性。
  • 您说“在您的旧应用程序中”。你有其他选择吗?
  • 如果我要重写我的旧应用程序,那么我会使用上面提到的$.data() 函数,当然假设我可以完全控制呈现的 html。我不知道您正在使用 PagedList.MVC 库,老实说我不熟悉它。但是根据它的文档--github.com/TroyGoode/PagedList,您也许可以进行一些手动调整。
  • 问题:您认为以这种方式添加处理程序更正确,还是生成已包含链接的部分视图 - 即.. 1
  • 如果你能完成这项工作,那可能会奏效--> &lt;a href="changePage(1)"&gt;1&lt;/a&gt;(请参阅stackoverflow.com/questions/134845/…)。无论如何,您要如何处理页码?控制器调用是否更合适? &lt;a href="controllerAction?Page=1"&gt;1&lt;/a&gt;
猜你喜欢
  • 2016-10-15
  • 2014-08-31
  • 2013-01-18
  • 2017-06-14
  • 1970-01-01
  • 2011-02-09
  • 1970-01-01
  • 1970-01-01
  • 2015-09-08
相关资源
最近更新 更多