Ravi Sargam Ответов: 1

Проблема при отправке параметров из 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

Огромное спасибо...... Эс компания

1 Ответов

Рейтинг:
4

Neha Ambasta

Попробовать это,

data: JSON.stringify({ startDate: startDate})

Это работает! :)


Ravi Sargam

Спасибо.............