javascript:将数组传递给WCF服务(c#)
我正在尝试向wcf服务发送数组 我的javascript:javascript:将数组传递给WCF服务(c#),c#,javascript,jquery,wcf,C#,Javascript,Jquery,Wcf,我正在尝试向wcf服务发送数组 我的javascript: var listoffice = new Array(); var office1 = { officeid : "1", officename : "Bat Cave" }; var office2 = { officeid : "2", officename : "Robin House" }; listoffice[0] = office1; listoffice[1] = office2; $.getJSON("Conta
var listoffice = new Array();
var office1 = { officeid : "1", officename : "Bat Cave" };
var office2 = { officeid : "2", officename : "Robin House" };
listoffice[0] = office1;
listoffice[1] = office2;
$.getJSON("ContactService.svc/createnewAwesomeoffice", { listoffice: listoffice }, function (data) {
...
});
服务内容如下:
public struct officetoadd
{
public string officeid;
public string officename;
}
[OperationContract]
[WebGet(ResponseFormat = WebMessageFormat.Json)]
public void createnewAwesomeoffice(List<officetoadd> listoffice)
{
...
}
$.getJSON("ContactService.svc/createnewAwesomeoffice", { listoffice: arrayjson }, function (data) {
...
});
public struct officeload
{
公共字符串officeid;
公共字符串官方名称;
}
[经营合同]
[WebGet(ResponseFormat=WebMessageFormat.Json)]
public void createnewAwesomeoffice(列表办公室)
{
...
}
问题是listoffice(在服务中)总是空的。我错过什么了吗 我认为您还需要在WebGetAttribute中添加RequestFormat。。。此外,您可能希望尝试将“OfficeLoadd”转换为一个类,并使用DataContract和DataMember属性对其进行修饰
[DataContract]
public class officetoadd
{
[DataMember]
public string officeid;
[DataMember]
public string officename;
}
[OperationContract]
[WebGet(RequestFormat - WebMessageFormat.Json, ResponseFormat = WebMessageFormat.Json)]
public void createnewAwesomeoffice(List<officetoadd> listoffice)
{
...
}
[DataContract]
公开课
{
[数据成员]
公共字符串officeid;
[数据成员]
公共字符串官方名称;
}
[经营合同]
[WebGet(RequestFormat-WebMessageFormat.Json,ResponseFormat=WebMessageFormat.Json)]
public void createnewAwesomeoffice(列表办公室)
{
...
}
我认为您还需要在WebGetAttribute中添加RequestFormat。。。此外,您可能希望尝试将“OfficeLoadd”转换为一个类,并使用DataContract和DataMember属性对其进行修饰
[DataContract]
public class officetoadd
{
[DataMember]
public string officeid;
[DataMember]
public string officename;
}
[OperationContract]
[WebGet(RequestFormat - WebMessageFormat.Json, ResponseFormat = WebMessageFormat.Json)]
public void createnewAwesomeoffice(List<officetoadd> listoffice)
{
...
}
[DataContract]
公开课
{
[数据成员]
公共字符串officeid;
[数据成员]
公共字符串官方名称;
}
[经营合同]
[WebGet(RequestFormat-WebMessageFormat.Json,ResponseFormat=WebMessageFormat.Json)]
public void createnewAwesomeoffice(列表办公室)
{
...
}
我认为您还需要在WebGetAttribute中添加RequestFormat。。。此外,您可能希望尝试将“OfficeLoadd”转换为一个类,并使用DataContract和DataMember属性对其进行修饰
[DataContract]
public class officetoadd
{
[DataMember]
public string officeid;
[DataMember]
public string officename;
}
[OperationContract]
[WebGet(RequestFormat - WebMessageFormat.Json, ResponseFormat = WebMessageFormat.Json)]
public void createnewAwesomeoffice(List<officetoadd> listoffice)
{
...
}
[DataContract]
公开课
{
[数据成员]
公共字符串officeid;
[数据成员]
公共字符串官方名称;
}
[经营合同]
[WebGet(RequestFormat-WebMessageFormat.Json,ResponseFormat=WebMessageFormat.Json)]
public void createnewAwesomeoffice(列表办公室)
{
...
}
我认为您还需要在WebGetAttribute中添加RequestFormat。。。此外,您可能希望尝试将“OfficeLoadd”转换为一个类,并使用DataContract和DataMember属性对其进行修饰
[DataContract]
public class officetoadd
{
[DataMember]
public string officeid;
[DataMember]
public string officename;
}
[OperationContract]
[WebGet(RequestFormat - WebMessageFormat.Json, ResponseFormat = WebMessageFormat.Json)]
public void createnewAwesomeoffice(List<officetoadd> listoffice)
{
...
}
[DataContract]
公开课
{
[数据成员]
公共字符串officeid;
[数据成员]
公共字符串官方名称;
}
[经营合同]
[WebGet(RequestFormat-WebMessageFormat.Json,ResponseFormat=WebMessageFormat.Json)]
public void createnewAwesomeoffice(列表办公室)
{
...
}
好的,我自己找到了解决方案。我认为写在这里是恰当的,这样可以帮助其他人
我只需使用以下命令将数组转换为JSON:
var arrayjson = JSON.stringify(listoffice);
然后将其传递给WCF服务:
public struct officetoadd
{
public string officeid;
public string officename;
}
[OperationContract]
[WebGet(ResponseFormat = WebMessageFormat.Json)]
public void createnewAwesomeoffice(List<officetoadd> listoffice)
{
...
}
$.getJSON("ContactService.svc/createnewAwesomeoffice", { listoffice: arrayjson }, function (data) {
...
});
注意:JSON对象现在是大多数现代web浏览器(IE 8及以上)的一部分。好的,我自己找到了一个解决方案。我认为写在这里是恰当的,这样可以帮助其他人 我只需使用以下命令将数组转换为JSON:
var arrayjson = JSON.stringify(listoffice);
然后将其传递给WCF服务:
public struct officetoadd
{
public string officeid;
public string officename;
}
[OperationContract]
[WebGet(ResponseFormat = WebMessageFormat.Json)]
public void createnewAwesomeoffice(List<officetoadd> listoffice)
{
...
}
$.getJSON("ContactService.svc/createnewAwesomeoffice", { listoffice: arrayjson }, function (data) {
...
});
注意:JSON对象现在是大多数现代web浏览器(IE 8及以上)的一部分。好的,我自己找到了一个解决方案。我认为写在这里是恰当的,这样可以帮助其他人 我只需使用以下命令将数组转换为JSON:
var arrayjson = JSON.stringify(listoffice);
然后将其传递给WCF服务:
public struct officetoadd
{
public string officeid;
public string officename;
}
[OperationContract]
[WebGet(ResponseFormat = WebMessageFormat.Json)]
public void createnewAwesomeoffice(List<officetoadd> listoffice)
{
...
}
$.getJSON("ContactService.svc/createnewAwesomeoffice", { listoffice: arrayjson }, function (data) {
...
});
注意:JSON对象现在是大多数现代web浏览器(IE 8及以上)的一部分。好的,我自己找到了一个解决方案。我认为写在这里是恰当的,这样可以帮助其他人 我只需使用以下命令将数组转换为JSON:
var arrayjson = JSON.stringify(listoffice);
然后将其传递给WCF服务:
public struct officetoadd
{
public string officeid;
public string officename;
}
[OperationContract]
[WebGet(ResponseFormat = WebMessageFormat.Json)]
public void createnewAwesomeoffice(List<officetoadd> listoffice)
{
...
}
$.getJSON("ContactService.svc/createnewAwesomeoffice", { listoffice: arrayjson }, function (data) {
...
});
注意:JSON对象现在是大多数现代web浏览器(IE 8及以上)的一部分。Ty非常感谢您的建议,但我只是使用JSON.stringify。我可以将参数设置为
IEnumerable
或任何其他接口或比List
更原始的类吗?非常感谢您的建议,但是我只是使用JSON.stringify。我可以将参数设置为IEnumerable
或任何其他接口或比List
更原始的class
,非常感谢您的建议,但是我只是使用JSON.stringify。我可以将参数设置为IEnumerable
或任何其他接口或比List
更原始的class
,非常感谢您的建议,但是我只是使用JSON.stringify。我可以将参数设置为IEnumerable
或任何其他接口或比List
更原始的类吗?