У меня есть представление, которое перечисляет модель.Проблема с IEnumerable в представлении
Вне сетки, которая перечисляет над моделью, я хочу иметь ссылку создать, которая принимает параметр 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);
})
EDIT: Спасибо за вклад ребята. После некоторого размышления я решил, что было бы лучше иметь сетку actionupdates, представленную как частичное представление в представлении «детали» MeetingActions, тем самым полностью избегая этой проблемы.
Этот вопрос может быть закрыт
Что вы пытаетесь сделать? У вас есть представление, которое работает с коллекцией некоторой модели. Вы хотите создать ссылку внутри этого представления. К какому элементу этой коллекции вы хотите сделать эту ссылку? Если вы можете ответить на этот вопрос, вы можете взять этот конкретный экземпляр модели в коллекции и использовать ее в своем шаблоне T4. –
Все еще смущен! Ссылка должна создать новый ActionUpdate. Каждый ActionUpdate принадлежит MeetingAction, поэтому ActionUpdate имеет MeetingActionId, который я хочу передать в действие Action в контроллере ActionUpdate. – MrBliz