2015-01-09 101 views
0

我是新来的asp.net。在我的客户端项目中,我必须将数组值传递给Web服务方法。 Web服务部分位于不同的项目中。如何将数组值传递给C#web服务方法

Public class Invoice 
{ 
    public string Name {get; set;} 
    public int Age {get; set;} 

    public string[] desc {get; set;} 
    public int[] items {get; set; } 
} 

我的控制器部分是

Invoice pe = new Invoice(); 

    pe.Name = "hubino"; 
     pe.Age = 21; 

     pe.desc[0] = "Hundreds"; 
     pe.desc[1] = "chumma"; 
     pe.items[0] = 123; 
     pe.items[1] = 45; 
     pe.items[2] = 98; 

如何将 'PE' 变量传递给我的web服务方法。我试了很多找到解决方案,但失败了。请帮我解决这个问题。如果我在代码的任何地方做错了,请指出错误。 在此先感谢。

+0

您的网络服务是否熟悉Invoice?你有没有访问Web服务的代码? –

+0

@AdilMammadov我可以在我的Web服务中创建相同的Invoice类,并在我的客户端项目中使用它。但如何传递数组? – Manoj

+0

@RahulNikate我尝试了你说的方式“service.TakeList(pe);”但它显示NullReferenceException'对象引用未设置为对象的实例'。 – Manoj

回答

0

更改Invoice类对象的初始化象下面这样:

Invoice pe = new Invoice(); 

    pe.Name = "hubino"; 
    pe.Age = 21; 

    pe.desc[] = new string[]{"Hundreds","Chumma"}; 
    pe.items[] = new int[]{123,45,98}; 

此外,蚂蚁P &阿迪尔·马马多夫建议使用List<int>List<string>

+0

您可以在答案中添加List声明吗? – Manoj

+0

当我尝试pe.items =新列表();改变了这个公共int [] items {get;组; } to public List items {get;组;}。但它显示不能将类型'System.Collections.Generic.List '隐式转换为'int []' – Manoj