#asp.net-mvc
#asp.net-mvc
Вопрос:
как я могу передать несколько моделей контроллеру и привязать данные к viewpage
у меня есть страница списка на этой странице, содержащая две вкладки: одну для активного списка, а другую в активном списке.
как я могу создать модель и привязать данные к viewpage.
как я могу привязать данные к странице просмотра, я использовал строго типизированную модель
public class MyViewModel
{
public IEnumerable<SomeViewModel> Active { get; set; }
public IEnumerable<SomeViewModel> InActive { get; set; }
}
это мой код страницы просмотра
<% foreach (var model in Model)
{ %>
<tr>
<td>
<%= Html.ActionLink(model.TITLE, "Detail", new { id = model.EVENT_ID })%>
</td>
Я получил сообщение об ошибке
Description: An error occurred during the compilation of a resource required to service this request. Please review the following specific error details and modify your source code appropriately.
Compiler Error Message: CS1061: 'System.Collections.Generic.IEnumerable<EventListing.Models.MyViewModel>' does not contain a definition for 'Active' and no extension method 'Active' accepting a first argument of type 'System.Collections.Generic.IEnumerable<EventListing.Models.MyViewModel>' could be found (are you missing a using directive or an assembly reference?)
Source Error:
Line 221: </thead>
Line 222: <tbody>
Line 223: <% foreach (var model in Model.Active)
Line 224: { %>
Line 225: <tr>
Комментарии:
1. Этот вопрос очень расплывчатый — stackoverflow не поможет вам изучить MVC, но поможет вам решить конкретные проблемы в MVC. Для изучения MVC3 перейдите сюда и здесь
Ответ №1:
У вас может быть модель представления, которая содержит два списка в качестве свойств:
public class MyViewModel
{
public IEnumerable<SomeViewModel> Active { get; set; }
public IEnumerable<SomeViewModel> InActive { get; set; }
}
а затем передать экземпляр MyViewModel
в представление из действия контроллера.
Комментарии:
1. как я могу привязать данные к странице просмотра, я использовал строго типизированную модель. это мой код страницы просмотра — <% foreach (переменная модель в модели) { %> <tr> <td> <%= Html. ActionLink(модель. ЗАГОЛОВОК, «Подробности», новый { id = model.EVENT_ID })%> </td>
2. @sathishkumar, предполагая, что вы используете модель, которую я предложил, вы могли бы перебирать активное свойство:
<% foreach (var model in Model.Active) { %>
3. я получил ошибку, я упоминаю об ошибке в своем сообщении. пожалуйста, дайте мне решение
4. @sathishkumar, представление не должно использоваться
IEnumerable<EventListing.Models.MyViewModel>
в качестве модели, ноEventListing.Models.MyViewModel
.