2016-07-14 12 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サービスの種類の一覧は次のとおりです。 https://msdn.microsoft.com/en-us/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; 

    } 
関連する問題