在ASP.NET中将参数从json发送到Web服务时出现问题 [英] Problem while sending parameters from json to web service in ASP.NET
本文介绍了在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屋!
查看全文