Проблема при отправке параметров из json в веб-сервис в ASP.NET
Я создал один веб-сервис с двумя методами. Первый метод без вызова параметра при загрузке, который работает нормально, мой второй метод имеет dateparameter(textbox), я не получаю значение параметра в коде позади (при нажатии кнопки я вызываю эту параметризованную функцию)
<script type="text/javascript"> $j = $.noConflict(); $j(document).ready(function () { $j.ajax({ type: "POST", dataType: "json", url: "ClaimService.asmx/GetClaims", success: function (data) { var datatableVariable = $j('#example2').DataTable({ data: data, "bLengthChange": false, "bFilter": false, "bPaginate": true, "pageLength": 10, columns: [ { 'data': 'Name' }, { 'data': 'IntimationDate' }, { 'data': 'PolicyNo' }, { 'data': 'Status' }, ] }); } }); }); function GetDataByFilter() { var startDate = $j("[id*=startDate]").val(); $j.ajax({ type: "POST", dataType: "json", url: "ClaimService.asmx/GetClaimsByFilter", //data: '{"startDate": ' + startDate + '}', data: "{startDate: '" + startDate + "'}", success: function (data) { var datatableVariable = $j('#example2').DataTable({ data: data, "bLengthChange": false, "bFilter": false, "bPaginate": true, "pageLength": 10, columns: [ { 'data': 'Name' }, { 'data': 'IntimationDate' }, { 'data': 'PolicyNo' }, { 'data': 'Status' }, ] }); } }); } </script>
[WebMethod] public void GetClaims() { var cs = ConfigurationManager.ConnectionStrings["SQLConnection"].ConnectionString; var students = new List<MemberDetails>(); using (var con = new SqlConnection(cs)) { var cmd = new SqlCommand("select * from Claim_Master", con) { CommandType = CommandType.Text }; con.Open(); var dr = cmd.ExecuteReader(); while (dr.Read()) { var student = new MemberDetails { Name = dr["FirstName"].ToString(), IntimationDate = dr["IntimationDate"].ToString(), PolicyNo = dr["PolicyNo"].ToString(), Status = dr["Status"].ToString() //DocumentsReceived = dr["Document Recived"].ToString(), //DocumentsPending = dr["Document Pending"].ToString() }; students.Add(student); } } var js = new JavaScriptSerializer(); Context.Response.Write(js.Serialize(students)); } [WebMethod] public void GetClaimsByFilter(string startDate) { var cs = ConfigurationManager.ConnectionStrings["SQLConnection"].ConnectionString; var students = new List<MemberDetails>(); using (var con = new SqlConnection(cs)) { var cmd = new SqlCommand("select * from Claim_Master", con) { CommandType = CommandType.Text }; con.Open(); var dr = cmd.ExecuteReader(); while (dr.Read()) { var student = new MemberDetails { Name = dr["FirstName"].ToString(), IntimationDate = dr["IntimationDate"].ToString(), PolicyNo = dr["PolicyNo"].ToString(), Status = dr["Status"].ToString() //DocumentsReceived = dr["Document Recived"].ToString(), //DocumentsPending = dr["Document Pending"].ToString() }; students.Add(student); } } var js = new JavaScriptSerializer(); Context.Response.Write(js.Serialize(students)); }
заранее спасибо.
Что я уже пробовал:
Я проверил в браузере, что вижу значение даты, но я не получаю значение в коде позади, оно не входит в этот второй метод (GetClaimsByFilter)
F-ES Sitecore
Попробуй
данные: {startDate: startDate},
Ravi Sargam
Огромное спасибо...... Эс компания