无法将值传递给 mvc 5 中的内部类属性

Posted

技术标签:

【中文标题】无法将值传递给 mvc 5 中的内部类属性【英文标题】:Unbale to pass value to inner class properties in mvc 5 【发布时间】:2020-06-18 02:32:09 【问题描述】:

我正在尝试使用 userid 和产品列表向 API 发布请求

我已经做了一个类似的模型,通过这个模型来发布 API 的请求

这是我的模型类

public class Checkout

  public string userId  get; set; 

  public productList productlist  get; set; 

  public class productList
  
    public int productId  get; set; 

    public int quantity  get; set; 
    public string totalAmount  get; set; 

  

这是我的发帖方式

public ActionResult PlaceOrder(Products products, ConfirmOrder confirmOrder, Checkout orderlist)

  var userid = System.Web.HttpContext.Current.User.Identity.Name;
  orderlist.userId = userid;
  orderlist.productlist.productId = products.productId;
  HttpResponseMessage response = GlobalVariables.webApiClient.PostAsJsonAsync("confirmVoucherPayment", orderlist).Result;

当我传递 productid 时,我可以访问 userId,然后它会引发错误说明

"对象引用未设置为对象的实例" ".Checkout.productlist.get 返回 null。" 我想在 JSON 对象下方传递以确认顺序

"userId":1,"productList":["productId":7,"totalAmount":"236.25","quantity":2,"productId":19,"totalAmount":"400","quantity":1]

【问题讨论】:

【参考方案1】:

productlist 应该在使用前进行初始化。例如在你的班级变化

public productList productlist  get; set; 

public productList productlist = new productList()  get; set; 

【讨论】:

【参考方案2】:

您的 json 将产品列表作为数组。你的 c# 类应该是:

public class Checkout  

    public string userId  get; set; 

    public productList[] productlist  get; set; 

    public class productList
    
        public int productId  get; set; 

        public int quantity  get; set; 
        public string totalAmount  get; set; 

    

【讨论】:

【参考方案3】:

我建议你先重新上课。

试试这个

  public class ProductList
 
public int productId  get; set; 
public string totalAmount  get; set; 
public int quantity  get; set; 


public class Checkout

public int userId  get; set; 
public List<ProductList> productList  get; set; 

如果您传递您提供的 json 并使用建议的类格式,您还必须始终检查(观察)orderlist 的值,orderlist obj 将被正确解析

【讨论】:

以上是关于无法将值传递给 mvc 5 中的内部类属性的主要内容,如果未能解决你的问题,请参考以下文章

Vue组件中的jQuery插件:无法将值传递给prop

mvc 从视图传递到Controller 多个不同的实体类接收如何做呢?

如何在测试 WCF 服务时将值传递给 List<string> 属性?

静态页面可以传递参数给动态页面吗

使用DAO将值从java类传递给jsp页面

React js onClick无法将值传递给方法