ASP.NET MVC 2.0之编辑和删除新闻操作

开发 后端
本文将介绍的是ASP.NET MVC 2.0的编辑和删除新闻操作,包括创建View视图NewsEdit和NewsDelete等等。

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

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

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

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

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

创建View视图NewsEdit和NewsDelete

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

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

修改相关配置

NewsEdit View

选择Add->View

NewsDelete View

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

  1. <asp:Content ID="Content2" ContentPlaceHolderID="MainContent" runat="server"> 
  2.    
  3.     <h2>新闻编辑-</h2> 
  4.     <% using (Html.BeginForm()) {%> 
  5.         <%: Html.ValidationSummary(true) %>       
  6.         <fieldset> 
  7.             <legend>Fields</legend> 
  8.              
  9.             <div class="editor-label" style="display:none;"> 
  10.                 <%: Html.LabelFor(model => model.Id) %> 
  11.             </div> 
  12.             <div class="editor-field" style="display:none;"> 
  13.                 <%: Html.TextBoxFor(model => model.Id)%> 
  14.                 <%: Html.ValidationMessageFor(model => model.Id) %> 
  15.             </div> 
  16.              
  17.             <div class="editor-label"> 
  18.                 <%: Html.LabelFor(model => model.Title) %> 
  19.             </div> 
  20.             <div class="editor-field"> 
  21.                 <%: Html.TextBoxFor(model => model.Title) %> 
  22.                 <%: Html.ValidationMessageFor(model => model.Title) %> 
  23.             </div> 
  24.              
  25.             <div class="editor-label"> 
  26.                 <%: Html.LabelFor(model => model.CreateTime)%> 
  27.             </div> 
  28.             <div class="editor-field"> 
  29.   <%: Html.TextBoxFor(model => model.CreateTime,new { @class = "date" }) %> 
  30.         <%: Html.ValidationMessageFor(model => model.CreateTime) %> 
  31.             </div> 
  32.              
  33.             <div class="editor-label"> 
  34.                 <%: Html.LabelFor(model => model.Content) %> 
  35.             </div> 
  36.             <div class="editor-field"> 
  37.                 <%: Html.EditorFor(model => model.Content) %> 
  38.                 <%: Html.ValidationMessageFor(model => model.Content) %> 
  39.             </div> 
  40.              
  41.             <p> 
  42.                 <input type="submit" value="Save" /> 
  43.             </p> 
  44.         </fieldset> 
  45.     <% } %> 
  46.     <div> 
  47.         <%: Html.ActionLink("Back to List", "Index") %> 
  48.     </div> 
  49. </asp:Content> 

新闻编辑页面HTML代码。

隐藏style="display:none;" 新闻编号Id

给日期文本框加Class=”Date”属性:new { @class = "date" },从而当用户点击日期文本框时,显示日历控件,供用户选择日期。详情,请参照文章: 《ASP.NET MVC 2.0之添加操作》.

删除页面NewsDelete.aspx主要代码如下:

  1. <asp:Content ID="Content2" ContentPlaceHolderID="MainContent" runat="server"> 
  2.     <h2>删除新闻</h2> 
  3.     <h3>确认要删除此条记录吗?</h3> 
  4.     <fieldset> 
  5.         <legend>Fields</legend> 
  6.          
  7.         <div class="display-label">编号:</div> 
  8.         <div class="display-field"><%: Model.Id %></div> 
  9.          
  10.         <div class="display-label">标题:</div> 
  11.         <div class="display-field"><%: Model.Title %></div> 
  12.          
  13.         <div class="display-label">创建时间:</div> 
  14.  <div class="display-field"><%: String.Format("{0:g}", Model.CreateTime) %>
  15. </div>    
  16.         <div class="display-label">新闻内容</div> 
  17.         <div class="display-field"><%: Model.Content %></div>    
  18.     </fieldset> 
  19.     <% using (Html.BeginForm()) { %> 
  20.         <p> 
  21.                        <input type="submit" value="Delete" /> |  
  22.                        <%: Html.ActionLink("Back to List", "Index") %> 
  23.         </p> 
  24.     <% } %> 
  25. </asp:Content> 

修改Controller文件

在Controllers/News文件下

修改Controller文件

修改NewsEdit.aspx页面所对应的的Action方法NewsEdit,以使NewsEdit.aspx页面初始化数据,此处未读读取数据库,而是从静态变脸集合中读取相对应的记录。

NewsEdit.asp所对应的 Action 代码如下:

  1. //编辑页面初始化方法  
  2.         // GET: /News/Edit/5  
  3.         public ActionResult NewsEdit(int id)  
  4.         {  
  5.             THelperMVC.Models.News.NewsModel news = newsList[id];  
  6.             return View(news);  
  7.         }  
  8. [HttpPost]  
  9. //点击编辑按钮时,触发的方法  
  10.         public ActionResult Edit(int id, FormCollection collection)  
  11.         {  
  12.             try 
  13.             {  
  14.                 // TODO: 添加更新业务逻辑  
  15.                 return RedirectToAction("Index");  
  16.             }  
  17.             catch 
  18.             {  
  19.                 return View();  
  20.             }  
  21.         } 

NewsDelete.Aspx所对应的Action方法,如下

  1. // GET: /News/Delete/5  
  2.         /// <summary>  
  3.         /// 页面初始化时,触发的方法  
  4.         /// </summary>  
  5.         /// <param name="id">URL中的参数Id值</param>  
  6.         /// <returns>新闻实体对象</returns>  
  7.         public ActionResult NewsDelete(int id)  
  8.         {  
  9.             THelperMVC.Models.News.NewsModel news = newsList[id];  
  10.             return View(news);  
  11.         }  
  12.    
  13.         // POST: /News/Delete/5  
  14.         [HttpPost]  
  15.         //点击【删除】按钮时触发的方法  
  16.    public ActionResult Delete(int id, FormCollection collection)  
  17.         {  
  18.             try 
  19.             {  
  20.                 // TODO: 添加删除业务逻辑  
  21.                 return RedirectToAction("Index");  
  22.             }  
  23.             catch 
  24.             {  
  25.                 return View();  
  26.             }  
  27.         } 

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

***修改新闻页Index.aspx中的Edit连接,如下图所示:

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

程序运行效果

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

运行效果

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

跳转

点击【Edit】超链接,会跳转到相应记录的编辑页面,如下图所示:

编辑页面

点击【Delete】超链接,会跳转到相应记录的删除页面,如下图所示:

Delete

总结

至此,使用Asp,net MVC2.0框架完成了简单的增查改删操作。接下来,在时间允许的情况下,会对MVC2.0框架原理进行一些总结,还望园子里德朋友指点。

原文标题:Asp.net MVC2.0系列文章-编辑和删除新闻操作

链接:http://www.cnblogs.com/ywqu/archive/2010/07/01/1768765.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-06-28 09:04:55

ASP.NET MVC

2010-06-23 15:44:03

ASP.NET MVC

2010-06-23 08:56:58

ASP.NET MVC

2009-07-29 09:17:12

jQuery删除

2009-07-24 13:20:44

MVC框架ASP.NET

2014-07-29 10:00:30

ASP.NETMVCAutoFac

2009-07-31 12:43:59

ASP.NET MVC

2009-07-28 17:17:19

ASP.NET概述

2009-07-22 13:24:24

ASP.NET MVC

2009-07-20 10:53:59

ASP.NET MVC

2009-07-23 14:31:20

ASP.NET MVC

2009-07-23 15:44:39

ASP.NET MVC

2009-07-22 10:09:59

ASP.NET MVC

2009-07-22 17:23:03

XmlDataSourASP.NET 2.0

2009-07-30 15:17:16

ASP.NET 2.0

2014-06-30 15:10:32

2009-07-30 13:45:40

ASP.NET开发模式MVC模式

2010-10-18 09:03:44

ASP.NET MVC

2009-07-20 16:44:56

ASP.NET MVCIValueProvi
点赞
收藏

51CTO技术栈公众号