Похоже, что вы ищете, чтобы показать несколько представлений в одном представлении , так как из контроллера вы можете вернуть только один, в вашем случае Dashboard
(когда вы не указали, они имеют должно совпадать с именем метода)
Вы можете сделать это с частичным представлением. и это немного зависит от того, в какой версии вы находитесь, если. NET framework, net core et c, также если вы используете бритву или любую другую платформу для внешнего интерфейса. если вы используете бритву, если вы наберете @HTML.Partial("viewname")
, то загрузите частичное представление внутри вашего "основного" представления. и вы можете отправить модель (объект) к нему в качестве второго параметра @HTML.Partial("viewname", model)
для вашего примера, вы возвращаете return View(barangays);
, который является красным полем. затем включить синие, что вам нужно сделать, это расширить вашу модель. таким образом, ваш BarangayModel
должен стать DashboardModel
, а одно из свойств должно быть List<BarangayModel>
.
class DashboardModel{
public List<BarangayModel> BarangayModelList {get;set;}
}
. Причина, по которой вы должны это сделать, заключается в том, что вы должны добавить свое красное поле. чтобы не вызвать объект PersonStatus и пример будет выглядеть так:
class PersonStatus{
int confirmed {get;set;}
int recovered {get;set;}
//rest of the properteis
}
, а затем вы расширите свой DashboardModel
, чтобы он содержал этот новый объект:
class DashboardModel{
public List<BarangayModel> BarangayModelList {get;set;}
public PersonStatus PersonStatus {get;set;}
}
, поэтому в вашем Dashboard.cshtml
Теперь вам нужно указать новую модель. Обычно это происходит в первой строке представления. И, похоже, это @model List<BarangayModel>
, вам нужно будет обновить его до @model DashboardModel
, так как вы переключитесь на List<BarangayModel>
на новый, foreach для печати таблицы потерпит неудачу. это означает, что у вас, вероятно, есть что-то вроде foreach(var bm in Model)
, теперь вам нужно обновить его до foreach (var bm in Model.BarangayModel)
, теперь у вас есть обе данные в представлении, но вы печатаете только BarangayModel
то, что вам нужно сделать, находится в той же папке, в которой это представление (или в Shared
) создает представление, которое получит новый объект PersonStatus
в качестве параметра.
, затем вам нужно вызвать это частичное представление вашего основного представления с передачей параметра:
@Html.Partial("PersonStatusView", Model.PersonStatus);
или
<partial name="PersonStatusView" model="@Model.PersonStatus);
зависит от того, какую версию / среду вы используете.