我正在尝试将列表从控制器传递到视图。我用断点检查了控制器端,一切似乎都没问题。问题在视图中。我只获得列表中所有位置的列表的最后一个元素。
示例
控制器中的列表是: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 :(得分:2)
显然你需要实例化列表中的每个元素,否则每次都会插入相同的元素:)
List<var> examplelist = new List<var>();
for ( int i =0 ; i <=10 ; i++)
{
var = new var();
exampleList.Add(var);
}