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>
   <% } %>

有什么建议么?

4

1 回答 1

2

显然你需要实例化列表的每个元素,否则它每次都会插入相同的元素:)

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

for ( int i =0 ; i <=10 ; i++)
{
    var = new var();
    exampleList.Add(var);
}
于 2013-03-22T20:42:23.227 回答