简单的ASP.NET无尽分页
我希望为评论部分实现一些简单的无限分页,类似于Youtube注释,您在底部单击“显示更多”,它会加载更多注释但保留以前的注释状态.
我想我可以在UpdatePanel中使用带有Ajax控件工具包的ListView和一些Jquery来完成它,但只需要一些指导.我正在考虑显示返回的前4个项目并将它们数据绑定到我的ListView,ListView将被包装在UpdatePanel中,并显示“Show More”按钮,当单击该按钮时,它将向数据源添加4个并重新绑定ListView,但这不会顺利地添加4个注释到底部,而是ListView部分将刷新以显示新注释. 这样做有更顺畅/更好的方法吗?我正在使用Webforms. 解决方法
老实说,我会避免使用整个Web表单模型(包括UpdatePanel).在这种情况下,它增加了很多开销和复杂性.
将AJAX请求发送回处理程序(无论它是什么,为此目的构建ASPX页面,Web方法,HttpHandler,MVC控制器等)并返回JSON.由于注释在结构上相当简单,因此根据需要插入/构建关联的标记应该不难. 我使用这种方法在ASP.Net Web表单应用程序中构建了一个无尽的评论系统,它运行良好.该页面呈现为具有用户控件的普通ASPX.注释的用户控件仅输出一些脚本. 我使用对控制器的请求加载我的初始注释,并且当用户滚动时,我只是向控制器询问下一个数据块,直到控制器告诉我已到达集合的末尾(您还可以添加上限用户不会加载太多记录并使其浏览器崩溃). 例 >使用jQuery.ajax()发出请求 var element = $("#comments"); // this is your node with all comments $.ajax({ type: "POST",url: "ClientApi/Comments/_GetPaged",// this handler builds JSON dataType: "json",data: { pageIndex: 5 },// your input values here cache: false,success: function (data) { for (var i = 0; i < data.length; i++) { var comment = data[i]; var itemElement = $("<div/>").appendTo(element); // do whatever you want here,just remember that user input // should be sanitized somewhere during the process itemElement.html(comment.text); } } }); (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
- asp.net – 为什么这个JSON返回“无效的JSON原语”?
- asp.net – 在Web.config更改后程序集不可用
- ASP.Net应用程序的最佳菜单是什么?
- asp.net-mvc – 并不总是创建__RequestVerificationToken
- asp.net – 存储应用程序变量
- 尝试设置DateTime时需要VBScript对象
- asp.net-mvc – ASP.NET MVC – Cascading Drop Down
- MVC 3指定远程验证的验证触发器
- Asp.net超链接控件相当于
- asp.net-mvc – asp.net mvc – [HttpPost/HttpGet] vs. [A
- ASP.NET FileUpload:如何在选择文件后自动回复?
- 无法使用ASP.NET 5进行基本本地化
- asp.net-mvc – 从IIS重写http到https的URL重写不
- ASP.Net哪个用户帐户在IIS 7上运行Web服务?
- asp.net – SignalR 3的开发状况如何?
- asp.net-mvc – 没有OWIN的SignalR
- C#中try catch中throw ex和throw方式抛出异常有何
- asp.net – 有没有办法禁用.NET浏览器检测?
- asp.net – 我可以在超链接上显式指定NavigateUr
- asp.net-core – db ASP.NET Core中的临时保存密