传递列表来查看

时间:2013-03-19 01:52:58

标签: asp.net list view

我正在尝试将列表从控制器传递到视图。我用断点检查了控制器端,一切似乎都没问题。问题在视图中。我只获得列表中所有位置的列表的最后一个元素。

示例

控制器中的列表是: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>
   <% } %>

有什么建议吗?

1 个答案:

答案 0 :(得分:2)

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

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

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