代码之家  ›  专栏  ›  技术社区  ›  Robo

如何在ASP.NET MVC中显示表中的对象列表?

  •  1
  • Robo  · 技术社区  · 16 年前

    我刚接触到ASP.NET MVC和.NET,所以有一个简单的问题。我想在网页上显示对象列表,最好的方法是什么?

    目前的模型如下:

    public class NoticeBoard
    {
        public List<Notice> Notices;
    
        public NoticeBoard()
        {
            Notices = new List<Notice>();
        }
    }
    
    public class Notice
    {
        public int ID;
        public DateTime StartDate;
        public DateTime EndDate;
        public String Content;
    }
    

    非常简单,控制器创建一个包含通知列表的通知板对象,视图需要显示通知。

    我看到有gridview、datalist、detailsview、listview等控件。他们之间有什么区别,哪一个最适合这个案子?

    1 回复  |  直到 16 年前
        1
  •  2
  •   womp    16 年前

    您列出的所有控件都不适用于MVC。这些都是ASP.NET WebControls,用于“经典ASP.NET”WebForms应用程序。它们依赖于viewstate和其他页面生命周期机制才能正常工作,并且通常不会与MVC项目一起工作。

    如果您使用的是ASP.NET MVC,那么您处理的HTML更多是一种原始形式,而不是使用WebControls。要生成项目列表,请向视图中添加如下代码:

    <% foreach(var notice in Model.Notices) { %>
    
       <tr>
         <td><%= notice.StartDate.ToString() %></td>
         <td><%= notice.EndDate.ToString() %></td>
         <td><%= notice.Content %></td>
       </tr>
    
    <% } %>
    

    如果发现在视图中多次使用相同的代码生成HTML,请考虑将其编写为htmlhelper扩展方法。

    推荐文章