سلام
رندر کردن جدول حاوی دادهها باید به data tables سپرده بشه. بدین
صورت که دادههای دریافتی از سرور به فرمت مناسبی تبدیل بشن و بعد به
خصوصیت aaData نسبت داده بشن، البته به تبع اون و حتما باید خصوصیت
aoColumns هم مقدار دهی بشه.
$(document).ready(function () {
$.ajax({
url: "ِDefault.aspx/GetBrowsers",
contentType: "application/json; charset=utf-8",
dataType: "json",
type: "POST",
success: function (response) {
if (response != "") {
var data = eval("(" + response.d + ")");
$('#browsers-grid').dataTable({
"aaData": data,
"bProcessing" : true,
"aoColumns": [
{ "mData": "Engine" },
{ "mData": "Name" },
{ "mData": "Platform" },
{ "mData": "Version", "sClass": "center" },
{ "mData": "Grade", "sClass": "center" }
]
});
}
},
});
});
کدهای سمت سرور:
مثلا فرض کنید ذر سمت سرور بخواهید لیستی از مرورگرها رو برگشت بدین. کلاس زیر رو در نظر بگیرید:
public class Browser
{
public int Id { get; set; }
public string Engine { get; set; }
public string Name { get; set; }
public string Platform { get; set; }
public float Version { get; set; }
public string Grade { get; set; }
}
برای برگشت دادن لیستی از مرورگرها به طرف کلاینت، متدی مثل زیر خواهید داشت:
[WebMethod]
public static string GetBrowsers()
{
List<Browser> browsers = new List<Browser>()
{
new Browser
{
Id = 1,
Engine = "Trident",
Name = "Internet Explorer 4.0",
Platform = "Win95+",
Version = 4,
Grade = "X"
},
new Browser
{
Id = 2,
Engine = "Trident",
Name = "Internet Explorer 5.0",
Platform = "Win95+",
Version = 5,
Grade = "C"
},
};
return browsers.ToJson();
}
در متد بالا، لیستی از مرورگرها
با استفاده از یک متد الحاقی تبدیل به فرمت json میشه و به طرف کاربر فرستاده میشه.