繁体   English   中英

是否可以在 web API 2 Controller post 方法中分别传递多个复杂类型参数?

[英]Is it possible to pass more than one complex type parameter separately in the web API 2 Controller post method?

我知道 [FromBody] 只允许一种复杂类型作为参数。 我只是想知道,有没有其他方法可以做到这一点? 任何帮助或知识将不胜感激:谢谢! :)

  1. 这是我的 controller
public HttpResponseMessage Post([FromBody]  List<TranInOutDtl> tranInOutDtl, List<TranInOutDtlsub> tranDtlSub, List<TranInOutDtlsub> tranDtlSub)
  1. 这是我下面的复杂 object
        public partial class TranInOutDtl
        {
        public int Tranno { get; set; }
        public int Trannosub { get; set; }
        public string ProdTypeDesc { get; set; }
        public string BatchNo { get; set; }
        public string Itemno { get; set; }
        public string ItemDesc { get; set; }
        public decimal ScanPendQty { get; set; }
        public int TotalBoxqty { get; set; }
        public decimal Quantity { get; set; }
        public int BoxQty { get; set; }
        public bool Isdone { get; set; }
        public int PKId { get; set; }
        public int PKSubId { get; set; }
        public string PkBxDesc { get; set; }
        public int BoxSz { get; set; }
        }

        public partial class TranInOutDtlsub
        {
        public int Tranno { get; set; }
        public int Trannosub { get; set; }
        public int Trannosub1 { get; set; }
        public string RackShlvNo { get; set; }
        public string ShlvNo { get; set; }
        public int ShlvBoxQty { get; set; }
        public decimal Quantity { get; set; }
        public int BoxQty { get; set; }
        public bool Isdonesub { get; set; }
        public string RkShlvSelType { get; set; }
        public string RkShCatUId { get; set; }
        public string RackCatDesc { get; set; }
        public string RkShCatColorCode { get; set; }
        }

        public partial class TranInOutRackScan
        {
        public int Tranno { get; set; }
        public int Trannosub { get; set; }
        public int Trannosub1 { get; set; }
        public int Srno { get; set; }
        public string BarcodeNo { get; set; }
        public decimal Quantity { get; set; }
        public int BoxQty { get; set; }
        public string InOut { get; set; }
        public int PackMaster_ID { get; set; }
        public int Pack_type_ID { get; set; }
        }

正如 DavidG 所提到的,您可以创建任何适合您特定需求的复杂类型,例如

public class TranInOutContainer 
{
    public List<TranInOutDtl> TranInOutDtl Dtl {get; set;}
    public List<TranInOutDtlsub> TranDtlSub DtlSub {get; set;} 
    ....
}

将是您问题的有效解决方案

您也可以使用dynamic类型 ofc 但仅在不存在其他解决方案时才应使用

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM