有了极大的SO用户帮助,我使用ASP.NET MVC 2 Futures来使用JSON来加载600个产品,并使用下面的代码在400ms内使用Microsoft Jquery模板显示它们。
有没有办法使用Microsoft JQuery Linking将对象绑定到生成的表单数据而不循环遍历每个? (假设我在匿名函数之外保留“j”对象)
我想我应该删除ID和唯一名称,只是让它们成为属性名称(并使用类)。你能做一些带有.link的JQuery选择器,选择倍数并将链接方法应用于所有人吗?
// adDate and printProduct are grouping keys to extract a set from the Product List
function onClickGetProducts()
{ var adDateValue = $('#adDates option:selected').val();
var printProductValue = $('#printProducts option:selected').val();
var responseObject = {};
responseObject.adDate = adDateValue;
responseObject.printProduct = printProductValue;
var jsonResult = JSON.stringify(responseObject);
$.ajax({ type: "POST",
url: "/GetProducts",
data: jsonResult,
contentType: "application/json; charset=utf-8",
dataType: "json",
success: function (j) {
// TODO: do something with products
$('#Products').html('');
$('#productTemplate').tmpl(j).appendTo("#Products");
}
});
}
模板代码:
<script id="productTemplate" type="text/x-jquery-tmpl">
<div style="position:relative;float:left;background-color:White;:400px;height:250px;overflow:scroll;">
<b>#${upc}</b><br />
----<br />
Main Product Text:<br/>
<input type="text" value="${maintext}" name="product${h_adv_nbr}" /><br />
Description Text:<br/>
<input type="text" value="${desctext}" name="product${h_adv_nbr}" /><br />
Photo:<br/>
<input type="text" value="${photo}" name="product${h_adv_nbr}" /><br />
</div>
</script>
答案 0 :(得分:1)
您需要更改控制器方法才能执行此操作。
/GetProducts/{page_index}/{page_size}
你可以通过诉诸
之类的东西来做到这一点IQueryable<Products>.Skip(page_index*page_size).Take(page_size);
或者您可以在数据库中预先定义分页存储过程,然后通过L2S或EF4调用它