2013-03-19 87 views
0

我試圖從控制器傳遞一個列表到一個視圖。我用斷點檢查了控制器端,一切似乎都沒有問題。問題在於。我只獲得列表中所有位置的列表的最後一個元素。傳遞列表來查看

例如

列表在控制器是:1,2,3,4,5

鑑於列表是:5,5,5,5,5

控制器代碼:

 if (Request.IsAuthenticated) 
     { 
      AdminController AC = new AdminController(); 
      List<ShowAllMessagesModel> SAMM = new List<ShowAllMessagesModel>(); 
      SAMM = AC.showAllMessages(); 
      ViewData["myList"] = SAMM; 
      return PartialView(); 
     } 

視圖代碼:

<% var list = ViewData["myList"] as List<sms.Models.ShowAllMessagesModel>; %> 
<%= list.Count %> 
<% 
    for (int i = 0; i < list.Count ; i++) 
    { 
    %> 
    <li>MsgId : <%= list.ElementAt(i).MessageId%> Sender : <%= list.ElementAt(i).Sender%></li> 
    <% } %> 

有什麼建議嗎?

+0

使用'名單 SAMM = AC.showAllMessages();' - 你不t需要創建一個實例,該實例立即被遺忘。 – Igor 2013-03-19 02:00:11

+0

沒有做任何事..列表得到的通過它是相同的大小..但在每個位置它是列表的最後一項..這就是問題 – 2013-03-19 07:39:47

回答

2

顯然你需要實例列表中的每一個元素,否則會每次插入相同的元素:)

List<var> examplelist = new List<var>(); 

for (int i =0 ; i <=10 ; i++) 
{ 
    var = new var(); 
    exampleList.Add(var); 
}