Only one 'model' statement is allowed in a file
asp.net, asp.net-mvc, asp.net-mvc-4, c#, view
Solution
Only one 'model' statement is allowed in a file.
You can either
- merge 2 models in one (see Nilesh answer)
- split views into separate views on controller level and have one model for each view
Sample:
if (...)
return View("View1", model1);
else
return View("View2", model2);
- use partial views and specify some common model in parent view (like `@model IEnumerable`) and call sub-view which will use particular type as model:
Sample:
@if (ViewBag.Type == "nomApplication"))
{
@Html.Partial("ViewForApplications", Model)
}
else
{
@Html.Partial("ViewForWahtever", Model)
}
And in each partial view you can specify model type:
// ViewForApplications
@model IEnumerable<Monitoring.Models.AppMetierModel>
...
Problem
I try to list data provided models data sent from a SearchController. But, I got this error, that I can't find how to fix it. Only one 'model' statement is allowed in a file. Here is the code causes the error : ``` @if (ViewBag.Type == "nomPoste") { @model IEnumerable<Monitoring.Models.PosteModel> if (Model != null) { foreach (var item in Model) { //... } } if (Model == null) { //... } } @if (ViewBag.Type == "nomApplication") { @model IEnumerable<Monitoring.Models.AppMetierModel> if (Model != null) { foreach (var item in Model) { //... } } if (Model == null) { //... } } ``` How do I to fix it, please ?