2016-07-14 108 views
0

我试图接收一个Web类型的类的参数。 我创建的这个类拥有一个内部类的列表。 类看起来像这样ASMX接收类作为参数

[Serializable] 
public class InventoryCheckInput 
{ 

    public Item itemList { get; set; } 

    [Serializable] 
    public class Item 
    { 
     public string CatalogID { get; set; } 
     public string Quantity { get; set; } 
    } 
} 

Web方法看起来像这样

[WebMethod] 
public InventoryCheckOutput OnlineInventoryCheck(InventoryCheckInput Items) 
{ 
    return null; 
} 

是有可能建立一个参数,像这门课吗?

+3

你试过了吗?这通常是最快的方法,看看是否可以完成。 – Tim

+0

你为什么要使用传统技术?无论如何,这里是XML Web Services支持的类型列表。 https://msdn.microsoft.com/zh-cn/library/3003scdt(v=vs.100).aspx –

+0

感谢您的回复。当然,我试过了,但没有奏效。你建议什么样的技术? –

回答

0

可以继承类和客户端收到名单..

 public class requestResponse 
{ 
    public bool status { get; set; } 
    public string msg { get; set; } 

} 
public class district : requestResponse 
{ 
    public int district_id { get; set; } 
    public string district_name { get; set; } 

} 
[WebMethod] 
    public List<district> getDropDown() 
    { 
     List<district> list = new List<district>(); 
     Pro_DbCon db = new Pro_DbCon(); 
     SqlConnection con = db.dbconnectionEMIS(); 
     try 
     { 
      con.Open(); 
      SqlCommand cmd = new SqlCommand("select * from DSS_District", con); 
      SqlDataReader dr = cmd.ExecuteReader(); 
      while (dr.Read()) 
      { 
       int idDistrict = Convert.ToInt32(dr[0]); 
       string DistrictTitle = dr[1].ToString(); 

       district d = new district(); 
       d.status = true; 
       d.msg = ""; 
       d.district_id = idDistrict; 
       d.district_name = DistrictTitle; 
       list.Add(d); 
      } 

      if (list.Count < 1) 
      { 
       district d = new district(); 
       d.status = true; 
       d.district_id = 0; 
       d.district_name = "No Data Found"; 
       d.msg = ""; 
       list.Add(d); 
      } 
      dr.Close(); 

     } 
     catch (Exception ex) 
     { 
      con.Close(); 
      district s = new district(); 
      s.status = false; 
      s.msg = ex.ToString(); 
      list.Add(s); 

     } 
     finally 
     { 
      con.Close(); 

     } 


     return list; 

    }