Проблема с IEnumerable в представлении - PullRequest
1 голос
/ 11 февраля 2011

У меня есть представление, которое перечисляет модель.

Вне сетки, которая перечисляется по модели, я хочу иметь ссылку создания, которая принимает параметр MeetingActionId, который будет связывать объект ActionUpdate с конкретным MeetingAction.

Как мне получить ссылку на создание, чтобы принять это свойство? в данный момент я получаю ошибку

'System.Collections.Generic.IEnumerable' does not contain
 a definition for 'MeetingActionId' and no extension method 'MeetingActionId' 
 accepting a first argument of type
'System.Collections.Generic.IEnumerable' could be found 

Я предполагаю, что это как-то связано с IEnumerable. Я собирался решить ее, поставив сетку частично, но мне это кажется хакерским решением.

Может ли кто-нибудь помочь и, надеюсь, научить меня тому, почему это происходит?

Спасибо.

В приведенном ниже фрагменте кода используется сетка MVCContrib и T4MVC для строго типизированных ссылок действий.

@model IEnumerable<Actioner.Models.ActionUpdate>
@using MvcContrib.UI.Grid     

@{
    ViewBag.Title = "ListUpdates";
}

<h2>ListUpdates</h2>
@Html.ActionLink("Add New Update",MVC.ActionUpdates.Create(Model.MeetingActionId))


@Html.Grid(Model).Columns(column => {
   column.For(a=> a.UpdateText);
   column.For(a=> a.CreatedOn).Format("{0:d}");
   column.For(a=>a.CreatedBy);
})

РЕДАКТИРОВАТЬ: Спасибо за вклад, ребята. Подумав немного, я решил, что было бы лучше, чтобы сетка обновлений действий отображалась как частичное представление в представлении «детали» MeetingActions, что позволило полностью избежать этой проблемы.

Этот вопрос может быть закрыт

1 Ответ

1 голос
/ 11 февраля 2011

Привет Я не уверен, что понимаю это правильно, но кажется, что Модель - это список, который содержит элементы типа ActionUpdate, у этого типа есть свойство MeetingActionId. В этом случае у самой модели нет свойства MeetingActionId, которое вы пытаетесь использовать. Возможно, вы могли бы к этому:

Model.First().MeetingActionId

...