0
最近我遇到了困惑的proplem。從控制器(jquery ajax)獲取數據時向表中追加數據兩次
我想延遲加載根據波紋管鏈接: ASP.NET MVC Infinite Scrolling Jquery
運行項目和使用的功能,實現時。一切工作正常,但jquery沒有。 其追加我的數據的兩個時間看到圖片: pay attention to first field which is a number
每一件事情是確定的(螢火蟲說明正確的數據) 但什麼是發生在那裏。
我jQuery代碼是:
var page = 1;
var scrollHandler = function() {
if (($(window).scrollTop() == $(document).height() - $(window).height()))
loadMoreToInfiniteScrollTable();
}
function loadMoreToInfiniteScrollTable() {
page++;
$.ajax({
type: 'GET',
url: dataUrl,
data: "p=" + page,
success: function (data) {
if (data) {
$('tbody').append(data);
}
}
});
}
調用方法
<script type="text/javascript">
var dataUrl = '@Url.RouteUrl("UserInfo")';
$(window).scroll(scrollHandler);
</script>
控制器操作方法:一次
其填入圖public List<inf> lst;
public ActionResult ExpressionDetail()
{
var data = lst.Where(f=>f.id>0&&f.id<lenght).OrderBy(i=>i.id);
return View(data);
}
和用於頁面的盲分離Blind局部視圖:
[HttpGet]
public ActionResult _TableData(int? p=0)
{
int firstfrom = p ?? 1;
int endfrom = (firstfrom > 1 ? (firstfrom - 1) * lenght : 0);
var g= lst.OrderBy(i=>i.id).Skip(endfrom-1).Take(lenght).AsEnumerable();
return PartialView(g);
}
路線配置:
routes.MapRoute("UserInfo", "",new {Controller= "Default", Action= "_TableData" });
常量長度:
public const int lenght = 15;
partialview:
@model IEnumerable<testable.Models.inf>
@foreach (var item in Model) {
<tr>
<td>
@Html.DisplayFor(modelItem => item.id)
</td>
<td>
@Html.DisplayFor(modelItem => item.name)
</td>
</tr>
}
和主要觀點:
@model IEnumerable<testable.Models.inf>
<!DOCTYPE html>
<html>
<head>
<meta name="viewport" content="width=device-width" />
<title>ExpressionDetail</title>
</head>
<body>
<table class="table">
<tr>
<th>
Id
</th>
<th>
name
</th>
</tr>
@Html.Partial("_TableData", Model)
<tbody>
</tbody>
</table>
</body>
</html>
INF模型
public class inf
{
public int id { get; set; }
public string name { get; set; }
}
顯示控制器方法的調用和視圖返回(和看吃了HTML的生成 - 最好的猜測是你有多個'
'元素 –是的,先生,即時通訊展控制器方法,我的調用是上面顯示的JavaScript的第二部分,我不是指多個tbody plz顯示我 – Persiax
你還沒有向你展示局部視圖:)'lenght'(我認爲它的10?)的價值是什麼? –
回答
所要解決只能刪除TBODY我的一個問題,使後面產生的感覺2個TBODY因此通過避免
<tbody></tbody>
明確地解決了我們的問題並且正確地工作。 MR斯蒂芬·馬克的TNX和祝賀
來源
2016-07-03 15:02:39 Persiax
相關問題