2012-05-15 210 views
11

得到一個元素我在我的視圖模型(LIST)看起來是這樣的:asp.net MVC 3剃鬚刀自IEnumerable

public class ConversationModel 
    { 
     public int ID { get; set; } 
     public string Body { get; set; } 
     public DateTime Datetime { get; set; } 
     public string Username { get; set; } 
     public string ImgUrl { get; set; } 
     public string ToUserID{ get; set; } 
    } 

這是我的看法

@model IEnumerable<NGGmvc.Models.ConversationModel> 

我怎樣才能在當前得到ToUserID現在的位置?像這樣

@Model [0] .ToUserID

感謝

回答

14

你應該能夠做到:

@Model.First().ToUserID 

注意,你可能要檢查是否有任何項目首先如果沒有枚舉,那麼First()將返回null

(注意,因爲您的問題中有@Model [0],所以我假設您特別試圖獲取第一價值。我可能有棒錯誤的結束,在這種情況下的Jakub的答案應該整理你)

+0

AdTheDev,我在哪裏獲得MVC模式絕知識。你的回答解決了我的問題。談到下一個問題。 – Moojjoo

1
@foreach(var model in Model) 
{ 
    @model.ToUserID 
} 
+0

這不會工作.... –

2

您應該能夠使用以下:

@Model.First().ToUserID 

然而,如果你的模型會只能在視圖中引用枚舉的第一個元素,我會建議您只將該元素傳遞給視圖。

例如:

@model ConversationModel 

@Model.ToUserID 

而在控制器僅通過所需要的第一個元素:

List<ConversationModel> conversationList = //your conversation model initialisation code 
return View(conversationList.First()); 
+0

我剛剛看到其他答案,並從這我現在質疑你是什麼要求?它是您需要的可枚舉類型的第一個元素還是每個元素? – Dangerous