ページングと検索にjQueryデータテーブルプラグインを使用しています。これをリピーターに適用していますが、クライアント側では正常に動作しています。
パラメータ値をドロップダウンからストアドプロシージャに渡して必要なデータ行のみをフェッチできるように、サーバー側を変更するにはどうすればよいですか?
要するに、カスタムページングを意味します。現在、ページの読み込み時にテーブルからリピーターにすべてのデータ行をバインドしています。どうすればパラメータを渡すことができますか?
aspxページを見てください
$(document).ready(function () {
$('#TblDataTable').dataTable({
"bJQueryUI": true,
"bSort": true,
// "bServerSide": true,
"sAjaxSource": "/Productindex.aspx/LoadProductList()",
"fnServerData": function (sSource, aoData, fnCallback) {
$.ajax({
"type": "POST",
"dataType": 'json',
"contentType": "application/json; charset=utf-8",
"url": sSource,
"data": "{'sEcho': '" + aoData[0].value + "'}",
"success": fnCallback
});
},
// "bProcessing": true,
"sPaginationType": "full_numbers",
"iDisplayLength": 10,
"sLengthMenu": "Page Size",
"aLengthMenu": [[5, 10, 15, 25, 50, 100, 150, 200], [5, 10, 15, 25, 50, 100, 150, 200]],
"aoColumns": [
{ "bSearchable": true },
{ "bSearchable": false },
{ "bSearchable": false },
{ "bSearchable": false },
{ "bSearchable": false },
{ "bSearchable": true },
{ "bSearchable": false },
],
});
});<script>
以下は、ページの読み込み時にC#で行っていることです。このメソッドを呼び出しています
public void LoadProductList()
{
Products objProducts;
List<Products> objProductlist;
try
{
objProducts = new Products();
objProductlist = objProducts.GetProductList();
rptProduct.DataSource = objProductlist;
rptProduct.DataBind();
}
catch (Exception ex)
{
throw ex;
}
finally
{
}
}
私が望むのは、GetProductList
メソッドにパラメータを渡して、関連するデータのみを取得することです。つまり、ドロップダウンから 5 を選択すると、5 行がフェッチされます。