在ASP.NET中将参数从json发送到Web服务时出现问题 [英] Problem while sending parameters from json to web service in ASP.NET

查看:42
本文介绍了在ASP.NET中将参数从json发送到Web服务时出现问题的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我用两种方法创建了一个Web服务。第一种方法没有参数调用加载,工作正常,我的第二种方法有日期参数(文本框),我没有在后面的代码中获取参数值(on buttong click我调用这个参数化函数)





< script type =  文本/ JavaScript的> 
$ j = $ .noConflict();
$ j( document )。ready( function (){
$ j .ajax({
type: POST
dataType: json
url: ClaimService.asmx / GetClaims
成功:功能(数据){
var datatableVariable = $ j(' #example2')。DataTable({
data:data,
bLengthChange false
bFilter false
< span class =code-string> bPaginate
true
pageLength 10
列:[
{' data'' Name'},
{' data'' IntimationDate'},
{' data'' PolicyNo'} ,
{' data'' 状态'},
]
});
}
});

});

function GetDataByFilter(){
var startDate = $ j ( [id * = startDate])。val();
$ j.ajax({
type: POST
dataType: json
url: ClaimService.asmx / GetClaimsByFilter
// data:'{startDate:'+ startDate +'}',
data: < span class =code-string> {startDate:' + startDate + '}
成功: function (数据){
var datatableVariable = $ j(' #example2')。DataTable({
data:data,
bLengthChange false
bFilter false
bPaginate true
pageLength 10
列:[
{' data'' 名称'},
{' data'' IntimationDate'} ,
{' data'' PolicyNo'},
{' data '' 状态'},
]
}) ;
}
});
}
< / script>







 [WebMethod] 
public void GetClaims()
{
var cs = ConfigurationManager.ConnectionStrings [ SQLConnection ]的ConnectionString。
var students = new List< MemberDetails>();
使用 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(),
状态= dr [ 状态]。ToString ()
// DocumentsReceived = dr [Document Recived]。ToString(),
// DocumentsPending = dr [Document Pending]。ToString()
};
students.Add(学生);
}
}
var js = new JavaScriptSerializer();
Context.Response.Write(js.Serialize(students));
}

[WebMethod]
public void GetClaimsByFilter( string startDate)
{
var cs = ConfigurationManager.ConnectionStrings [< span class =code-string>
SQLConnection]。ConnectionString;
var students = new List< MemberDetails>();
使用 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(),
状态= dr [ 状态]。ToString ()
// DocumentsReceived = dr [Document Recived]。ToString(),
// DocumentsPending = dr [Document Pending]。ToString()
};
students.Add(学生);
}
}
var js = new JavaScriptSerializer();
Context.Response.Write(js.Serialize(students));
}







提前感谢。



我尝试了什么:



我在浏览器中检查过我可以看到日期值,但我没有得到价值代码背后,它没有进入第二种方法(GetClaimsByFilter)

解决方案

j =


.noConflict();


j( document )。ready( function (){

I have created one web service with two methods. First method is without parameter calling on load which is working fine, my second method have dateparameter(textbox), i am not getting parameter value in code behind (on buttong click i am calling this parametrised function)


<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));
        }




thanks in advance.

What I have tried:

I checked in browser i can see date value but i am not getting value in code behind, it is not coming into that second method (GetClaimsByFilter)

解决方案

j =


.noConflict();


j(document).ready(function () {


这篇关于在ASP.NET中将参数从json发送到Web服务时出现问题的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆