ASP.NET MVC 2.0之显示列表和详细页面操作

开发 后端
本文将介绍的是ASP.NET MVC 2.0的添加操作,主要包括创建View视图Index、使用Foreach循环遍历新闻List中的记录。

关于ASP.NET MVC框架,51CTO-.NET频道向您推荐,本系列文章还包括

***篇《ASP.NET MVC 2.0之MVC框架简介

第二篇《ASP.NET MVC 2.0之如何运行WEB应用

第三篇《ASP.NET MVC 2.0之添加操作

[[12233]]

创建View视图Index和NewsDetails

创建新闻首页,用来显示新闻列表。

在Views/News目录下,单击右键,选择Add->View,修改相关配置如下图所示

修改相关配置

在生成的HTML代码中,进行相关展示方面的修改。主要代码如下:

<% foreach (var item in Model) { %> 
        <tr> 
            <td> 
      <%: Html.ActionLink("Edit", "NewsEdit", new { id=item.Id }) %> |  
    <%: Html.ActionLink("Details", "NewsDetails", new { id=item.Id })%> |  
 <%: Html.ActionLink("Delete", "Delete", new { /* id=item.PrimaryKey */ })%> 
            </td> 
            <td> 
                <%: item.Title %> 
            </td> 
            <td> 
                <%: String.Format("{0:g}", item.CreateTime) %> 
            </td> 
            <td> 
                <%: item.Content %> 
            </td> 
        </tr> 
    <% } %>  
  • 1.
  • 2.
  • 3.
  • 4.
  • 5.
  • 6.
  • 7.
  • 8.
  • 9.
  • 10.
  • 11.
  • 12.
  • 13.
  • 14.
  • 15.
  • 16.
  • 17.
  • 18.

使用Foreach循环遍历新闻List中的记录。

<%: Html.ActionLink("Details", "NewsDetails", new { id=item.Id })%> 
  • 1.

此连接URL会寻找当前Controller下的NewsDetails Action方法,以新闻编号Id为参数进行传值。

同样的方法创建新闻详细页面视图NewsDetails.asp

创建新闻详细页面视图

生成的核心代码如下:

<asp:Content ID="Content2" ContentPlaceHolderID="MainContent" runat="server"> 
    <h2>详细内容</h2> 
    <fieldset> 
        <legend>新闻</legend> 
        <div class="display-label">标题</div> 
        <div class="display-field"><%: Model.Title %></div> 
         
        <div class="display-label">创建时间</div> 
  <div class="display-field"><%: String.Format("{0:g}", Model.CreateTime) %>
</div> 
         
        <div class="display-label">新闻内容</div> 
        <div class="display-field"><%: Model.Content %></div> 
         
    </fieldset> 
    <p> 
        <%: Html.ActionLink("Edit", "NewsEdit", new { id=Model.Id }) %> |  
        <%: Html.ActionLink("Back to List", "Index") %> 
    </p> 
</asp:Content> 
  • 1.
  • 2.
  • 3.
  • 4.
  • 5.
  • 6.
  • 7.
  • 8.
  • 9.
  • 10.
  • 11.
  • 12.
  • 13.
  • 14.
  • 15.
  • 16.
  • 17.
  • 18.
  • 19.
  • 20.

<%: Html.ActionLink("Edit", "NewsEdit", new { id=Model.Id }) %> | 此连接会跳转到新闻编辑页面,同样以新闻编号Id传值。

修改Controller文件

在Controllers/News文件下

修改Controller文件

修改Action Name=Index的方法,以使Index.aspx页面初始化数据,此处未读读取数据库,而是伪造了一些数据,且放到静态变量中:

public static List<THelperMVC.Models.News.NewsModel> newsList; 
  • 1.

Index Action 代码如下:

public ActionResult Index()  
        {  
             newsList= new List<THelperMVC.Models.News.NewsModel>();  
            for (int i = 0; i < 10; i++)  
            {  
THelperMVC.Models.News.NewsModel news=new THelperMVC.Models.News.NewsModel();  
                news.Id = i;  
                news.Title = "Title" + i.ToString();  
                news.CreateTime = System.DateTime.Now;  
                news.Content = "Content 新?闻?内¨²容¨Y" + i.ToString();  
                newsList.Add(news);  
            }  
            return View(newsList);  
        } 
  • 1.
  • 2.
  • 3.
  • 4.
  • 5.
  • 6.
  • 7.
  • 8.
  • 9.
  • 10.
  • 11.
  • 12.
  • 13.
  • 14.

使用For循环生成10条新闻记录。

修改NewsDetails.Aspx所对应的Action方法,如下

// GET: /News/Details/5  
public ActionResult NewsDetails(int id)  
{  
     THelperMVC.Models.News.NewsModel news=newsList[id];  
     return View(news);  
}   
  • 1.
  • 2.
  • 3.
  • 4.
  • 5.
  • 6.

根据URL传过来的参数(即新闻编号Id),从全局静态变量中寻找NewsModel实体,从而初始化新闻详细页面。

***修改母版页中的,News连接,如下图所示:

修改母版页

此时,点击首页的News超链接,会寻找NewsController文件夹下的Index方法,从而初始化Views/News/Index.aspx页面。

程序运行效果

按下Ctrl+F5运行程序,如下图所示:

按下Ctrl+F5运行程序

点击上图中的【News】超链接,跳转到新闻列表页面,如下图所示:

点击Details超链接,会跳转到相应记录的详细页面,如下图所示:

跳转到相应记录的详细页面

原文标题:Asp.net MVC2.0系列文章-显示列表和详细页面操作

链接:http://www.cnblogs.com/ywqu/archive/2010/06/28/1766403.html

【编辑推荐】

  1. 添加设置ASP.NET Web时出现问题
  2. 详细说明ASP.NET 2.0功能支持
  3. 强化部署ASP.Net 2.0配置应用程序
  4. 微软PDC2009直击:改进ASP.NET 4运行时
  5. 详解ASP.NET MVC 2自定义验证
责任编辑:彭凡 来源: 博客园
相关推荐

2010-06-25 08:51:46

ASP.NET MVC

2010-07-01 08:49:34

ASP.NET MVC

2010-06-23 15:44:03

ASP.NET MVC

2010-06-23 08:56:58

ASP.NET MVC

2009-07-23 14:08:58

2009-07-27 16:53:15

ASP.NET 2.0

2009-08-03 13:38:18

ASP.NET编程模型

2009-12-10 17:47:01

ASP.NET 2.0

2009-07-27 15:58:25

添加GridView

2014-07-29 10:00:30

ASP.NETMVCAutoFac

2009-07-24 13:20:44

MVC框架ASP.NET

2009-07-31 12:43:59

ASP.NET MVC

2009-07-27 16:09:05

GridView显示数

2011-07-13 08:58:51

ASP.NET

2009-07-27 10:48:53

ASP.NET Det

2009-07-28 17:17:19

ASP.NET概述

2009-12-03 13:34:36

Visual Stud

2009-07-22 10:09:59

ASP.NET MVC

2009-07-22 13:24:24

ASP.NET MVC

2009-07-23 15:44:39

ASP.NET MVC
点赞
收藏

51CTO技术栈公众号