я получаю следующее сообщение об ошибке:модель элемент передается в словарь типа «», но этот словарь требует модель элемента типа «»
The model item passed into the dictionary is of type 'Cygnus.Global.ViewModels.StoreViewModel', but this dictionary requires a model item of type 'Cygnus.Global.ViewModels.ProductOrderViewModel'.
Ниже мой Код модели:
public class StoreViewModel
{
public int Id { get; set; }
public List<StoreViewModel> Stores { get; set; }
}
Ниже мой контроллер Код:
public ActionResult StoreProducts (StoreViewModel model)
{
CygnusInternalResponseViewModel response = new CygnusInternalResponseViewModel();
response = new Logic(CApplicationId, CurrentCompanyId).GetProductsByStoreId(model.Id);
var parentmodel = new ProductOrderViewModel() { Products = response.Model, Orders = new OrderViewModel() };
if (response.Success)
return View(model);
return View();
}
И следующий мой View Code:
Примечание: StoreViewModel существует в ProductOrderViewModel как свойство
@model Cygnus.Global.ViewModels.ProductOrderViewModel
@foreach (var pd in Model.Products)
{
<p>
span class="cmtText"> | @pd.Name | @pd.UnitPrice </span>
</p>
}
@Html.LabelFor(m => m.Orders.SubTotal)
@Html.TextBoxFor(m => m.Orders.SubTotal, new { @readonly = "readonly", @style = "width:100px; float:right;margin-top:-21px;" })
Вы вид нужна модель с типом ' ProductOrderViewModel' –
Ошибка сама по себе - ваш взгляд имеет '@model ProductOrderViewModel', но ваш passin g это экземпляр «StoreViewModel» –
Посмотрите на свой метод post - его параметр «StoreViewModel model» (который всегда будет «null», поэтому его бессмысленно), и у вас есть «return View (model);'! Научитесь отлаживать свой код –