سلام دوستان
من از طریق تابع ajax وب سرویس رو صدا میزنم و خروجیش یک لیست است که بر میگردونه به صفحه وب و توی صفحه وب در قالب Table نمایشش میدم
تابع ajax :
$.ajax({ type: "POST", contentType: "application/json; charset=utf-8", url: "../WebForms/Details.asmx/get_Detailedpersonal", data: "{}", dataType: "json", success: function (Result) { $.each(Result.d, function (key, value) { }); }, error: function (Result) { alert("Error"); } });
تابعی که در وب سرویس تعریف کردم :
[WebMethod] public List<program> get_filterprogram() { SqlConnection connect = objcon.conect(); List<program> program_list = new List<program>(); DataSet ds; using (SqlCommand cmd = new SqlCommand("SELECT * FROM tbl_program ORDER BY program_id", connect)) { connect.Open(); cmd.Connection = connect; cmd.CommandType = CommandType.Text; using (SqlDataAdapter da = new SqlDataAdapter(cmd)) { ds = new DataSet(); da.Fill(ds); connect.Close(); } } try { if (ds != null) { if (ds.Tables.Count > 0) { if (ds.Tables[0].Rows.Count > 0) { foreach (DataRow dr in ds.Tables[0].Rows) { program_list.Add(new program() { program_name = dr["program_name"].ToString(), program_no = dr["program_no"].ToString() }); } } } } } catch (Exception ex) { throw ex; } return program_list; }
اما مشکلی که برخوردم اینه که وقتی تعداد رکورد های این لیست زیاد میشه تابع ajax نمیتونه توی صفحه لودش کنه (بعضی وقتا مثلا تا 100 نشون میده بعضی وقتا تا 200 تا نشون میده بعضی وقتا تا 80 تا نشون میده)
لطفا راهنماییم کنید
شما باید ارت پارت اطلاعات را واکشی کنید و نمایش بدید
مثلا در هر بار درخواست 50 یا 100 لود کنید
مشکلم با کد زیر در وب کانفیگ حل شد
ممنونم دوستان
<system.web.extensions> <scripting> <webServices> <jsonSerialization maxJsonLength="100000000"/> </webServices> </scripting> </system.web.extensions>
هیچ کاربری تا کنون از این پست تشکر نکرده است
با ما تماس بگیرید تا در این مسیر همراهتان باشیم :)