ASMX 接收类作为参数

本文关键字:参数 ASMX | 更新日期: 2023-09-27 17:57:09

我正在尝试接收 web 方法的类类型的参数。我构建的类包含内部类的列表。类看起来像这样

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

网络方法如下所示

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

是否可以将参数构建为这样的类?

ASMX 接收类作为参数

您可以在客户端继承类并接收列表。

     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;
    }