ASP.NET MVC 2.0之添加操作

开发 后端
本文将介绍的是ASP.NET MVC 2.0的添加操作,主要包括Model的创建、View的Edit操作和Control的Create操作。

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

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

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

[[12204]]

创建数据模型Model

数据模型主要包括数据信息、验证规则以及业务逻辑。

创建Model的方式有多种,可以使用微软的ADO.NET Entity Data Model,也可以使用第三方工具生成实体对象,对于比较简单的实体,我们可以手工添加,此处就是手动敲上去的。                                                        

分析:此处定义了新闻实体对象的的一些属性,在每个Property上都存在一些注解,比如字段Title上RequiredAttribute,表明Title栏位是必填字段,如果不填写会显示错误信息”请输入标题!”

DataTypeAttribute属性表明此字段的数据类型为文本类型,它是个枚举类型集合,如下: 

Member name
Description
Custom
Represents a custom data type.
DateTime
Represents an instant in time, expressed as a date and time of day.
Date
Represents a date value.
Time
Represents a time value.
Duration
Represents a continuous time during which an object exists.
PhoneNumber
Represents a phone number value.
Currency
Represents a currency value.
Text
Represents text that is displayed.
Html
Represents an HTML file.
MultilineText
Represents multi-line text.
EmailAddress
Represents an e-mail address.
Password
Represent a password value.
Url
Represents a URL value.
ImageUrl
Represents a URL to an image.

这些类型,可以分别试试,看看最终效果什么样子的。DisplayNameAttribute属性表明了此字段要文字说明。

创建View视图

MVC提供了生成View的向导工具,很方便的,如下图流程步骤:我们在View文件夹下,新建一个新文件夹,命名为News

右击News文件夹,选择Add->Add View功能菜单,出现如下界面:

在View name栏位,我可以给此视图修改名称,比如AddNews,

选中Create a strongly-typed view 栏位,选择刚才定义的实体类Model,并选择View content栏位为Create操作。

其他栏位默认值就OK

最终效果如下图所示:

单击【Add】按钮,即可添加AddNews.aspx视图成功。此文件的核心代码如下所示:

  1. <asp:Content ID="Content2" ContentPlaceHolderID="MainContent" runat="server"> 
  2.     <h2> 
  3.         添¬¨ª加¨®新?闻?</h2> 
  4.     <% using (Html.BeginForm())  
  5.        {%> 
  6.     <%: Html.ValidationSummary(true) %> 
  7.     <fieldset> 
  8.         <legend>新?闻?</legend> 
  9.         <div class="editor-label"> 
  10.             <%: Html.LabelFor(model => model.Title) %> 
  11.         </div> 
  12.         <div class="editor-field"> 
  13.             <%: Html.TextBoxFor(model => model.Title) %> 
  14.             <%: Html.ValidationMessageFor(model => model.Title) %> 
  15.         </div> 
  16.         <div class="editor-label"> 
  17.             <%: Html.LabelFor(model => model.CreateTime) %> 
  18.         </div> 
  19.         <div class="editor-field"> 
  20.             <%: Html.TextBoxFor(model => model.CreateTime, new { @class = "date" })%> 
  21.             <%: Html.ValidationMessageFor(model => model.CreateTime) %> 
  22.         </div> 
  23.         <div class="editor-label"> 
  24.             <%: Html.LabelFor(model => model.Content) %> 
  25.         </div> 
  26.         <div class="editor-field"> 
  27.             <%: Html.EditorFor(model => model.Content) %> 
  28.             <%: Html.ValidationMessageFor(model => model.Content) %> 
  29.         </div> 
  30.         <p> 
  31.             <input type="submit" value="添¬¨ª加¨®" /> 
  32.         </p> 
  33.     </fieldset> 
  34.     <% } %> 
  35.     <div> 
  36.         <%: Html.ActionLink("Back to List", "Index","Home") %> 
  37.     </div> 
  38. </asp:Content> 

分析

在日期文本框中,新增加属性new { @class = "date" }),此Class属性是为了稍后的日历控件的显示。要使日期文本框显示日期控件,可以使用Jquery UI,方法是:

1、Jquery UI官方网站http://www.jqueryUI.com下载***的 UI类库

2、添加日历控件的CSS文件和JS文件到项目中,如下图

3、在母版页面Site.Master中添加JS的引用,以及页面初始化时绑定日历控件到文本框,代码如下:

  1. <link href="http://www.cnblogs.com/Content/jquery.ui.all.css" rel="stylesheet" type="text/css" /> 
  2.     <script src="http://www.cnblogs.com/Scripts/jquery-1.4.1.min.js" type="text/javascript">
  3. </script> 
  4.  <script src="http://www.cnblogs.com/Scripts/jquery-ui-1.8.2.custom.min.js" type="text/javascript">
  5. </script> 
  6.      <script type="text/javascript"> 
  7.          $(document).ready(function () {  
  8.              $("input:text.date").datepicker(  
  9.             {  
  10.                 dateFormat: "yy-mm-dd"  
  11.             });  
  12.          });  
  13.     </script> 

到此,日历栏位的文本框就可以显示日历控件了,稍后看效果图。

创建Controller文件

在Controllers文件夹下,新增News文件夹;

单击右键,选择Add->Controller,显示如下界面

重命名Controller Name栏位为NewsController,同时选择下方的复选框,最终效果如下图:

单击【Add】按钮,自动产生Controller中的一些方法,这时候对Controller中的方法做一些修改,即可完成添加新闻页面初始化的方法,以及添加新闻功能,代码如下:

  1. // GET: /News/Create  
  2. //完成页面初始化  
  3.         public ActionResult AddNews()  
  4.         {  
  5.             return View();  
  6.         }  
  7.         //  
  8.         // POST: /News/Create  
  9.         //完成添加按钮事件  
  10.         [HttpPost]  
  11. public ActionResult AddNews(THelperMVC.Models.News.AddNewsModel news)  
  12.         {  
  13.             if (ModelState.IsValid)  
  14.             {  
  15.                 newsService.AddNews();  
  16.                 return RedirectToAction("index""Home");   
  17.             }  
  18.             else 
  19.             {  
  20. ModelState.AddModelError("""请?输º?入¨?合?法¤¡§的Ì?信?息¡é!ê?");  
  21.             }  
  22.             return View(news);  
  23.         } 

至此,MVC的各个层次都已经创建完,让我们看看最终的效果吧。

程序效果图

原文标题:Asp.net MVC2.0系列文章-添加操作

链接:http://www.cnblogs.com/ywqu/archive/2010/06/24/1764062.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-23 15:44:03

ASP.NET MVC

2010-07-01 08:49:34

ASP.NET MVC

2010-06-28 09:04:55

ASP.NET MVC

2010-06-23 08:56:58

ASP.NET MVC

2009-07-24 13:20:44

MVC框架ASP.NET

2014-07-29 10:00:30

ASP.NETMVCAutoFac

2009-07-27 03:21:00

breadcrumb导

2009-07-27 15:58:25

添加GridView

2009-07-31 12:43:59

ASP.NET MVC

2009-07-24 17:08:31

添加站点地图asp.net

2009-07-27 09:28:55

TableAdapte

2009-07-28 17:17:19

ASP.NET概述

2009-07-22 17:23:03

XmlDataSourASP.NET 2.0

2009-07-22 13:24:24

ASP.NET MVC

2009-07-20 10:53:59

ASP.NET MVC

2009-07-22 10:09:59

ASP.NET MVC

2009-07-23 14:31:20

ASP.NET MVC

2009-07-23 15:44:39

ASP.NET MVC

2009-07-30 15:17:16

ASP.NET 2.0

2014-06-30 15:10:32

点赞
收藏

51CTO技术栈公众号