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

简介: 上一篇文章,我们简单地完成了新闻的添加操作(Asp.net MVC2.0系列文章-添加操作)此篇文章,我们使用Asp.net MVC2.0实现新闻清单的展示和新闻详细页面。 创建View视图Index和NewsDetails 创建新闻首页,用来显示新闻列表。

上一篇文章,我们简单地完成了新闻的添加操作(Asp.net MVC2.0系列文章-添加操作)此篇文章,我们使用Asp.net MVC2.0实现新闻清单的展示和新闻详细页面。

创建View视图IndexNewsDetails

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

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>

    <% } %>

 

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

  <%: Html.ActionLink("Details", "NewsDetails", new {  id=item.Id })%>  此连接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>

 

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

修改Controller文件

Controllers/News文件下

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

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

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);

        }

 

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

 

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

 

        // GET: /News/Details/5

        public ActionResult NewsDetails(int id)

        {

             THelperMVC.Models.News.NewsModel news=newsList[id];

             return View(news);

        }

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

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

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

程序运行效果

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

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

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

 

版权

作者:灵动生活 郝宪玮

出处:http://www.cnblogs.com/ywqu

如果你认为此文章有用,请点击底端的【推荐】让其他人也了解此文章,

img_2c313bac282354945ea179a807d7e70d.jpg

本文版权归作者和博客园共有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接,否则保留追究法律责任的权利。

 

相关文章
|
5月前
|
开发框架 JavaScript 前端开发
揭秘:如何让你的asp.net页面变身交互魔术师——先施展JavaScript咒语,再引发服务器端魔法!
【8月更文挑战第16天】在ASP.NET开发中,处理客户端与服务器交互时,常需先执行客户端验证再提交数据。传统上使用ASP.NET Button控件直接触发服务器事件,但难以插入客户端逻辑。本文对比此法与改进方案:利用HTML按钮及JavaScript手动控制表单提交。后者通过`onclick`事件调用JavaScript函数`SubmitForm()`来检查输入并决定是否提交,增强了灵活性和用户体验,同时确保了服务器端逻辑的执行。
66 5
|
8月前
|
开发框架 .NET 中间件
七天.NET 8操作SQLite入门到实战 - (2)第七天Blazor班级管理页面编写和接口对接
七天.NET 8操作SQLite入门到实战 - (2)第七天Blazor班级管理页面编写和接口对接
178 7
|
4月前
|
开发框架 前端开发 JavaScript
ASP.NET MVC 教程
ASP.NET 是一个使用 HTML、CSS、JavaScript 和服务器脚本创建网页和网站的开发框架。
56 7
|
4月前
|
存储 开发框架 前端开发
ASP.NET MVC 迅速集成 SignalR
ASP.NET MVC 迅速集成 SignalR
100 0
|
5月前
|
开发框架 前端开发 .NET
七天.NET 8操作SQLite入门到实战 - (3)第七天Blazor学生管理页面编写和接口对接
七天.NET 8操作SQLite入门到实战 - (3)第七天Blazor学生管理页面编写和接口对接
|
5月前
|
开发框架 前端开发 .NET
ASP.NET MVC WebApi 接口返回 JOSN 日期格式化 date format
ASP.NET MVC WebApi 接口返回 JOSN 日期格式化 date format
75 0
|
5月前
|
开发框架 前端开发 安全
ASP.NET MVC 如何使用 Form Authentication?
ASP.NET MVC 如何使用 Form Authentication?
|
5月前
|
开发框架 .NET
Asp.Net Core 使用X.PagedList.Mvc.Core分页 & 搜索
Asp.Net Core 使用X.PagedList.Mvc.Core分页 & 搜索
177 0
|
8月前
|
XML 开发框架 .NET
C#/ASP.NET应用程序配置文件app.config/web.config的增、删、改操作
C#/ASP.NET应用程序配置文件app.config/web.config的增、删、改操作
90 1
|
8月前
|
开发框架 前端开发 JavaScript
JavaScript云LIS系统源码ASP.NET CORE 3.1 MVC + SQLserver + Redis医院实验室信息系统源码 医院云LIS系统源码
实验室信息系统(Laboratory Information System,缩写LIS)是一类用来处理实验室过程信息的软件,云LIS系统围绕临床,云LIS系统将与云HIS系统建立起高度的业务整合,以体现“以病人为中心”的设计理念,优化就诊流程,方便患者就医。
93 0