从数据库加载更多项
Loading more items from database
我是ajax/c# sharp的新手,我正试图找出从数据库中获取更多项目的最佳方法,当用户向下滚动时。
我有一个网页,里面有一堆评论(有点像Twitter),它从显示前19条评论开始。
到达底部并使数据库显示下一个19条评论等等的最佳方法是什么?
下面是我的代码: @foreach (var photo in db.Query(photos, galleryId))
{
var hash2 = "@" + photo.UserName;
<div class="comment1" class="com-@photo.Id">
<div class="comment2">
<div class="doce">
<div class="uno_2">
<div class="picpic">
<img alt="miniatura" style="display: none" src="@Href("~/Photo/Thumbnail3", photo.UserId, new { size="medium" })" />
</div>
</div>
<div class="dos_2">
<strong>
<a href="~/User/View/@photo.UserId" class="nombresito" title="Ver el perfil de @(photo.Nombre)">@photo.Nombre @photo.Apellido </a><span class="hash">@hash2</span>
</strong>
</div>
</div>
<div class="veintidos_2">
<div class="tres_3">
<div class="commenttext">@photo.CommentText</div>
</div>
</div>
</div>
</div>
}
Javascript(由onLoad()函数自动触发
var xmlhttp;
var link = "/more?more=" + 19;
if (window.XMLHttpRequest) {// code for IE7+, Firefox, Chrome, Opera, Safari
xmlhttp = new XMLHttpRequest();
}
else {// code for IE6, IE5
xmlhttp = new ActiveXObject("Microsoft.XMLHTTP");
}
xmlhttp.onreadystatechange = function () {
if (xmlhttp.readyState == 4 && xmlhttp.status == 200) {
document.getElementById("com1").innerHTML = xmlhttp.responseText;
}
}
xmlhttp.open("POST", link, true);
xmlhttp.send();
c#锋利的
@{
var db = Database.Open("PhotoGallery");
var galleryId = UrlData[0].AsInt();
var more = Request.QueryString["more"];
var photos = "SELECT TOP 19 * FROM Photos INNER JOIN UserProfiles ON Photos.UserId = UserProfiles.UserId ORDER BY Id DESC";
}
我想这个链接可能会对你有所帮助:http://www.sanwebe.com/2013/05/auto-load-records-on-page-scroll/comment-page-1
它的后端主要是PHP,但你可以很容易地用ASP来做。NET更容易。你可以让javascript保持原样,除了一些小的修改。最重要的是,您应该替换post请求uri
$.post('~/api/LoadMore',{'page': track_load}, function(data){
然后,在你的asp.net mvc web api你应该有一个方法与匹配的名称
IEnumerable<Comment> LoadMore(int page)
{
//Return comments
}
如果你对web api感到困惑,你可以从这里开始:http://www.asp.net/web-api
相关文章:
- Jquery(多读/少读)在从数据库加载整个数据后不起作用
- 当select标记触发onChange事件时,从mysql数据库加载html表
- 为什么 Javascript 和 AJAX 调用(在页面加载时)会导致数据库行为空?(脸书画布)
- SuiteScript:如何有一个自定义的数据字段来从数据库加载信息
- 在Moqui中,如何在html.ftl中加载数据库表数据作为下拉列表
- Selectize.js:如何将数据库中已经选择的标签预加载到输入字段(Meteor&MongoDB/JSON)
- Angular js,在选择元素上,我想 POST 数据以将其保存在数据库中,然后我想使用 PUT 更新它而无需重新加载
- 从数据库加载记录,不带提交按钮的下拉选择
- 无限滚动:从数据库加载所有数据并滚动以显示更多
- 使用 SQL .js在 JavaScript 中加载 SQLite 数据库
- 有没有办法重新加载主GEPlugin数据库
- 如何高亮显示选定的文本并存储在数据库中,以及当页面重新加载时,如何高亮显示回选定的文本
- 单击图像时从数据库加载选项id
- 如何使用YDN-db在另一个Html页面中加载数据库上下文
- 在css背景上动态加载数据库中的图像
- 我如何通过ajax加载数据库内容之前,一个过滤器键被按下
- 点击加载数据库项
- JQuery没有'ajax加载数据库后无法工作
- 基于用户文本输入动态加载数据库
- 可以't在dhtmlxgantt.php中加载数据库