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代码中,进行相关展示方面的修改。主要代码如下:

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

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

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

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

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

创建新闻详细页面视图

生成的核心代码如下:

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

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

修改Controller文件

在Controllers/News文件下

修改Controller文件

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

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

Index Action 代码如下:

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

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

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

  1. // GET: /News/Details/5  
  2. public ActionResult NewsDetails(int id)  
  3. {  
  4.      THelperMVC.Models.News.NewsModel news=newsList[id];  
  5.      return View(news);  
  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

2009-07-27 16:09:05

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

2011-07-13 08:58:51

ASP.NET

2009-07-27 10:48:53

ASP.NET Det

2009-12-03 13:34:36

Visual Stud

2009-07-23 14:17:41

2009-07-29 17:26:39

ASP.NET页面

2009-07-31 10:23:44

缓存页面ASP.NET缓存

2009-08-03 14:18:40

ASP.NET编程模型ASP.NET页面生命
点赞
收藏

51CTO技术栈公众号