I가 다음과 같은 구조체를 포함하는 뷰 모델 :ModelBinding 문제
public struct PricesAndDiscounts
{
public decimal FlatOff;
public decimal UnitPrice;
public decimal TotalDiscount;
public decimal TotalOptions;
public decimal TotalOrderPrice;
}
뷰 모델은 인 DisplayRowPriceViewModel의 구성원 인 형 PricesAndDiscounts의 속성이되도록 계층 구조에 ManageOrderEditModel의 멤버 :
-ManageOrderEditModel
- DisplayRowPriceViewModel.
요청의 "모양은"나는 (양식 항목의 피들러 스크린 샷 참조) 원하고 기대하는 것처럼 정확하게 :
그러나 서버에서 기본 ModelBinder를이 구조체로 인스턴스화 각 구성원의 0. ViewModel의 다른 모든 것들은 문제없이 ModelBinder에 의해 만들어졌습니다.
사용자 정의 구조체에 대한 사용자 정의 ModelBinder를 만들어야합니까?
편집 - 추가 자세한 내용은
서명은이 :
public ActionResult ManageOrder([FromBody]ManageOrderEditModel model)
나는 FromBody 속성없이 그것을 시도했습니다. 또한, PricesAndDiscounts가 struct라는 사실은 문제가 아닙니다. 저는 이것을 수업으로 바꾸었고 모든 구성원이 Fiddler에서 양식에서 볼 수있는 가치 대신 0으로 왔습니다.
ManageOrderEditModel
public class ManageOrderEditModel
{
public DisplayOptionsInDropDownViewModel DisplayOptionsInDropDownViewModel { get; set; }
public DisplayRowPriceViewModel DisplayRowPriceViewModel { get; set; }
public int ID { get; set; }
public int RegType { get; set; }
}
DisplayRowPriceViewModel
public class DisplayRowPriceViewModel
{
public Discount Discount { get; set; }
public int NumberOfAdditionalLocations { get; set; }
public OrderStatus OrderStatus { get; set; }
public double Price { get; set; }
public PricesAndDiscounts PricesAndDiscounts { get; set; }
public RegType RegistrationType { get; set; }
public decimal RowPrice { get; set; }
}
조치 방법 서명을 공유 할 수 있습니까? 나는 당신이 그것에 게시하고 있다고 가정합니다. –
@Imran 나는 더 많은 정보를 가지고 게시물을 편집했다. 건배. – onefootswill
API 컨트롤러입니까? – haim770