上一篇文章,我们简单地完成了新闻内容的展示功能(Asp.net MVC2.0系列文章-显示列表和详细页面操作),此篇文章,我们使用Asp.net MVC2.0实现新闻记录的编辑和删除功能。

创建View视图NewsEdit和NewsDelete

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

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

NewsEdit View

NewsDelete View

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

<asp:Content ID="Content2" ContentPlaceHolderID="MainContent" runat="server">

<h2>新闻编辑-</h2>

<% using (Html.BeginForm()) {%>

<%: Html.ValidationSummary(true) %>

<fieldset>

<legend>Fields</legend>

<div class="editor-label" style="display:none;">

<%: Html.LabelFor(model => model.Id) %>

</div>

<div class="editor-field" style="display:none;">

<%: Html.TextBoxFor(model => model.Id)%>

<%: Html.ValidationMessageFor(model => model.Id) %>

</div>

<div class="editor-label">

<%: Html.LabelFor(model => model.Title) %>

</div>

<div class="editor-field">

<%: Html.TextBoxFor(model => model.Title) %>

<%: Html.ValidationMessageFor(model => model.Title) %>

</div>

<div class="editor-label">

<%: Html.LabelFor(model => model.CreateTime)%>

</div>

<div class="editor-field">

<%: Html.TextBoxFor(model => model.CreateTime,new { @class = "date" }) %>

<%: Html.ValidationMessageFor(model => model.CreateTime) %>

</div>

<div class="editor-label">

<%: Html.LabelFor(model => model.Content) %>

</div>

<div class="editor-field">

<%: Html.EditorFor(model => model.Content) %>

<%: Html.ValidationMessageFor(model => model.Content) %>

</div>

<p>

<input type="submit" value="Save" />

</p>

</fieldset>

<% } %>

<div>

<%: Html.ActionLink("Back to List", "Index") %>

</div>

</asp:Content>

新闻编辑页面HTML代码。

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

给日期文本框加Class=”Date”属性:new { @class = "date" },从而当用户点击日期文本框时,显示日历控件,供用户选择日期。详情,请参照文章: Asp.net MVC2.0系列文章-添加操作.

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

<asp:Content ID="Content2" ContentPlaceHolderID="MainContent" runat="server">

<h2>删除新闻</h2>

<h3>确认要删除此条记录吗?</h3>

<fieldset>

<legend>Fields</legend>

<div class="display-label">编号:</div>

<div class="display-field"><%: Model.Id %></div>

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

<% using (Html.BeginForm()) { %>

<p>

<input type="submit" value="Delete" /> |

<%: Html.ActionLink("Back to List", "Index") %>

</p>

<% } %>

</asp:Content>

修改Controller文件

在Controllers/News文件下

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

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

//编辑页面初始化方法

// GET: /News/Edit/5

public ActionResult NewsEdit(int id)

{

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

return View(news);

}

[HttpPost]

//点击编辑按钮时,触发的方法

public ActionResult Edit(int id, FormCollection collection)

{

try

{

// TODO: 添加更新业务逻辑

return RedirectToAction("Index");

}

catch

{

return View();

}

}

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

// GET: /News/Delete/5

/// <summary>

/// 页面初始化时,触发的方法

/// </summary>

/// <param name="id">URL中的参数Id值</param>

/// <returns>新闻实体对象</returns>

public ActionResult NewsDelete(int id)

{

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

return View(news);

}

// POST: /News/Delete/5

[HttpPost]

//点击【删除】按钮时触发的方法

public ActionResult Delete(int id, FormCollection collection)

{

try

{

// TODO: 添加删除业务逻辑

return RedirectToAction("Index");

}

catch

{

return View();

}

}

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

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

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

程序运行效果

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

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

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

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

总结

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

Asp.net MVC2.0系列文章-编辑和删除新闻操作相关推荐

  1. Asp.net MVC2.0系列文章-运行Web MVC2.0 Demo

    安装VS2010 首先安装VS2010,安装过程请参考文章: http://www.cnblogs.com/ywqu/archive/2010/01/27/1657450.html. 创建第一个MVC ...

  2. Asp.net MVC2.0系列文章-MVC简介篇

    使用微软VS工具开发Web应用程序主要有两种方式:一种是常用的创建Asp.net Web Forms,另外一种就是今天着重介绍的Asp.net  MVC. <?XML:NAMESPACE PRE ...

  3. Asp.net MVC2.0系列文章-添加操作

    创建数据模型Model 数据模型主要包括数据信息.验证规则以及业务逻辑. 创建Model的方式有多种,可以使用微软的ADO.NET Entity Data Model,也可以使用第三方工具生成实体对象 ...

  4. 积少成多 Flash(ActionScript 3.0 Flex 3.0) 系列文章索引

    [源码下载] 积少成多 Flash(ActionScript 3.0 & Flex 3.0) 系列文章索引 作者:webabcd Flash 之 ActionScript 3.0  1.积少成 ...

  5. Asp.Net MVC2.0 Url 路由入门---实例篇

    本篇主要讲述Routing组件的作用,以及举几个实例来学习Asp.Net MVC2.0 Url路由技术. 接着上一篇开始讲,我们在Global.asax中注册一条路由后,我们的请求是怎么转到相应的Vi ...

  6. Struts 2.0系列文章

    Struts 2.0系列文章 http://www.blogjava.net/max/archive/2006/10/25/77157.html 需要深入了解这些标志的朋友,可以到以下查看以下网址: ...

  7. Spring Boot 2.0系列文章(四):Spring Boot 2.0 源码阅读环境搭建

    前提 前几天面试的时候,被问过 Spring Boot 的自动配置源码怎么实现的,没看过源码的我只能投降��了. 这不,赶紧来补补了,所以才有了这篇文章的出现,Spring Boot 2. 0 源码阅 ...

  8. Scott的ASP.net MVC框架系列文章之四:处理表单数据(2)

    前几周我发表了一系列文章介绍我们正在研究的ASP.NET MVC框架.ASP.NET MVC框架为你提供了一种新的开发Web应用程序的途径,这种途径可以让应用程序变得更加层次清晰,而且更加有利于对代码 ...

  9. 一起谈.NET技术,ASP.NET MVC2.0在Tab页中实现异步无刷新分页

    概述 很多地方都存在以Tab页来呈现数据的方式,比如网易.新浪.搜狐.QQ等知名的门户网站的首页,还有大家熟知的博客园首页,都是用了tab页来显示数据.大家之所以喜欢用Tab,因为它能大大的增加显示数 ...

最新文章

  1. 兰州现超级“牛大”碗比腰粗:牛肉面吃出火锅范
  2. 依赖注入框架Autofac学习笔记
  3. muduo采用计时函数gettimeofday
  4. linux防火墙文件找不到,防火墙问题 Linux系统 /etc/sysconfig/路径下无iptables文件
  5. good things will come late
  6. python打卡记录去重_python中对list去重的多种方法
  7. Confluence 6 为发送邮件配置服务器
  8. Linux的实际操作:用户管理(查看用户和组的配置文件/etc/passwd /etc/group /etc/shadow)
  9. 计算正方形面积和周长_寒假作业:长方形、正方形周长面积应用题,附答案
  10. Transformers Assemble(PART II)
  11. 【工具】 原版完美激活 Flash builder 4.7 【非破解激活】
  12. c语言 状态空间控制方程,MPC学习笔记1:基于状态空间模型的预测控制(2)
  13. ubuntu 11.10 安装RTX 腾讯通
  14. Arduino学习笔记:基于LiquidCrystal库运行LCD1602
  15. R语言绘图--PCA图
  16. spring源码解析——@Component注解原理
  17. 搜狗站群代码之搜狗批量推送工具
  18. AI——三(路径、画笔)
  19. 多款AE字幕条模板动画
  20. windows服务程序一

热门文章

  1. api php usdt 以太坊_以太坊智能地址PHP开发包【零GAS归集ERC20】
  2. python计算器基础知识_Python基础(一):将Python当做计算器、编程的第一步
  3. python升级matplotlib包_Python-matplotlib包
  4. html上滑效果,上滑菜单定位.html
  5. 方欣科技算法题面试:蛇形矩阵
  6. Struts 2常见应用
  7. iis7配置php-7,PHP--Windows 7 +IIS7配置
  8. php生成图片验证码-附五种验证码
  9. batch-size 深度学习笔记
  10. GitHub项目协作基本步骤