2011-02-10 39 views
1

我有一個視圖,枚舉模型。問題IEnumerable在視圖

在枚舉整個模型的網格之外,我想要創建一個接受MeetingActionId參數的鏈接,該鏈接將​​對象綁定到特定的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的'details'視圖中將actionupdates的網格渲染爲局部視圖會更好,從而完全避免了這個問題。

這個問題可以被關閉

+1

你想做什麼?你有一個觀點,正在與一些模型的集合。你想在這個視圖內創建一個鏈接。你想讓這個鏈接點成爲這個集合的哪個元素?如果你可以回答這個問題,那麼你可以將這個特定的模型實例放入集合中,並在你的T4模板中使用它。 – 2011-02-10 21:21:41

+0

仍然困惑!該鏈接應該創建一個新的ActionUpdate。每個ActionUpdate都屬於一個MeetingAction,因此一個ActionUpdate具有一個MeetingActionId,我想將它傳遞給ActionUpdate控制器中的create Action。 – MrBliz 2011-02-10 21:28:32

回答

1

嗨 我不知道我理解正確,這一點,但它似乎像模型是包含類型ActionUpdate的項目清單,該類型有一個名爲MeetingActionId屬性。如果是這種情況,模型本身沒有您嘗試使用的MeetingActionId屬性。也許你可以這樣做:

Model.First().MeetingActionId