I have model as
public class MainDataViewModel
{
[Required]
[Display(Name = "Select Work Orders")]
public string[] SelectedWorkOrdersValues { get; set; }
public MultiSelectList WorkOrderIds { get; set; }
public IEnumerable<ORDERMASTER> ordersDetails;
}
And Main View as
@model InventoryEasy15.Models.MainDataViewModel
<div class="box-body">
<div class="col-md-6">
<div class="form-group">
@Html.ValidationSummary(true, "", new { @class = "text-danger" })
<label for="fileToUpload">Select the Work Orders</label>
@Html.ValidationMessageFor(m => m.WorkOrderIds, "", new { @class = "text-danger" })
@Html.ListBoxFor(m => m.SelectedWorkOrdersValues, Model.WorkOrderIds as MultiSelectList, new { id = "WorkOrders", @class = "form-control", data_placeholder = "Choose Work Orders..." })
</div>
</div>
</div>
<!-- /.box-body -->
<div class="box-footer">
<input type="submit" value="Get WorkOrder Details" id="btnSubmit" class="btn btn-primary">
</div>
</div>
</div>
</div>
@Html.Partial("MainDataWorkOrderDetails", Model.ordersDetails)
And the Partial view as
@model IEnumerable<InventoryEasy15.ORDERMASTER>
<div id="myDisplayID"><div>
Now I am getting error as
The model item passed into the dictionary is of type 'InventoryEasy15.Models.MainDataViewModel', but this dictionary requires a model item of type 'System.Collections.Generic.IEnumerable`1[InventoryEasy15.ORDERMASTER]'.
Any thoughts.
The controller here is
public async Task<ActionResult> MainDataWorkOrderDetails(MainDataViewModel m)
{
var model = new MainDataViewModel();
var result = await db.ORDERMASTERs.Where(x => x.WOID == "WO7446708").ToListAsync();
if (result != null)
{
model.ordersDetails = result;
}
return PartialView(model);
}
model.ordersDetailsisnull. Suggest you add a default constructor to initialize it, or add aelseblock and includeelse { model.orderDetails = new List<ORDERMASTER> }. Side note: You can just useModel.WorkOrderIdsin theListBoxFor()method (no need for theas MultiSelectList)@Html.Partial("MainDataWorkOrderDetails", Model.ordersDetails)the value ofModel.ordersDetailsisnull. Debug your code!ordersDetailswill not benullwhen you first render the view - public MainDataViewModel() { ordersDetails = new List<ORDERMASTER>(); }`