2012-05-15 30 views
11

tôi mô hình quan điểm của tôi (DANH) trông như thế này:asp.net MVC 3 dao cạo có được một phần tử từ 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; } 
    } 

đây là quan điểm của tôi

@model IEnumerable<NGGmvc.Models.ConversationModel> 

làm thế nào tôi có thể nhận được ToUserID trên hiện tại postion? một cái gì đó như thế này

[0] @Model .ToUserID

Cảm ơn

Trả lời

14

Bạn sẽ có thể làm:

@Model.First().ToUserID 

Lưu ý, bạn có thể muốn kiểm tra xem có bất kỳ mục trong đầu tiên có thể đếm được như thể không có, thì First() sẽ trả về null

(Lưu ý, vì bạn có @Model [0] trong câu hỏi của bạn, tôi cho rằng bạn đang cố gắng để có được giá trị đầu tiên. Tôi có thể kết thúc sai trái của cây gậy, trong trường hợp câu trả lời Jakub của nên sắp xếp bạn ra ngoài)

+0

AdTheDev, nơi nào tôi đạt được MVC mẫu Jedi kiến ​​thức. Câu trả lời của bạn đã giải quyết được vấn đề của tôi. Về vấn đề tiếp theo. – Moojjoo

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

điều này sẽ không hoạt động .... –

2

Bạn sẽ có thể sử dụng như sau:

@Model.First().ToUserID 

Tuy nhiên, nếu mô hình của bạn sẽ chỉ bao giờ tham chiếu phần tử đầu tiên của kiểu liệt kê trong khung nhìn, tôi khuyên bạn chỉ nên chuyển phần tử đó cho khung nhìn.

Ví dụ:

@model ConversationModel 

@Model.ToUserID 

Và trong bộ điều khiển duy nhất vượt qua các yếu tố đầu tiên được yêu cầu:

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

Tôi vừa nhìn thấy các câu trả lời khác và từ điều này tôi bây giờ đặt câu hỏi đó là những gì bạn yêu cầu? Đây có phải là phần tử đầu tiên của loại số bạn yêu cầu hoặc mọi phần tử không? – Dangerous

Các vấn đề liên quan