я получил сообщение об ошибке «System.Collections.Generic.IEnumerable <EventListing.Models.MyViewModel>» не содержит определения - PullRequest
1 голос
/ 29 сентября 2011

как я могу передать несколько моделей в контроллер и привязать данные к странице просмотра

У меня есть страница списка на этой странице, содержащая две вкладки, одна для активного списка и другая в активном списке.* как я могу создать модель и привязать данные к странице просмотра.

как я могу привязать данные к странице просмотра, я использовал строго типизированную модель

public class EventInfo  
    {

        public string SUBSITE { get; set; }
        public string TITLE { get; set; }
------
}
public class MyViewModel
{
    public IEnumerable<SomeViewModel> Active { get; set; }
    public IEnumerable<SomeViewModel> InActive { get; set; }
}



var model = new MyViewModel
            {
                Active = EventModel.EventList(ids, "", "", "", "", "", "", "", "1", "").ToList(),
                InActive = EventModel.EventList(ids, "", "", "", "", "", "", "", "1", "1").ToList()
            };

это мой код страницы просмотра

<% 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 Ответ

2 голосов
/ 29 сентября 2011

Ваш код ViewPage не совпадает с сообщением об ошибке, которое вы опубликовали.

Код ViewPage показывает, что передаваемая вами модель - это коллекция MyViewModel, которую вы просматриваете для отображения ссылок.

В сообщении об ошибке говорится, что вы передаете только один MyViewModel и хотите выполнить цикл по коллекции Active.

Измените ViewPage, чтобы использовать

@model MyViewModel

вместо

@model IEnumerable<MyVieWModel>
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...