ASP.NETMVC2.0之添加操作

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

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

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

创建数据模型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.  
  2.     

     

  3.         添¬¨ª加¨®新?闻? 
  4.     <% using (Html.BeginForm())  
  5.        {%> 
  6.     <%: Html.ValidationSummary(true) %> 
  7.     
     
  8.         新?闻? 
  9.          
  10.             <%: Html.LabelFor(model => model.Title) %> 
  11.         
 
  •          
  •             <%: Html.TextBoxFor(model => model.Title) %> 
  •             <%: Html.ValidationMessageFor(model => model.Title) %> 
  •         
  •  
  •          
  •             <%: Html.LabelFor(model => model.CreateTime) %> 
  •         
  •  
  •          
  •             <%: Html.TextBoxFor(model => model.CreateTime, new { @class = "date" })%> 
  •             <%: Html.ValidationMessageFor(model => model.CreateTime) %> 
  •          
  •          
  •             <%: Html.LabelFor(model => model.Content) %> 
  •          
  •          
  •             <%: Html.EditorFor(model => model.Content) %> 
  •             <%: Html.ValidationMessageFor(model => model.Content) %> 
  •          
  •         

     

  •              
  •         

     
  •      
  •     <% } %> 
  •     
     
  •         <%: Html.ActionLink("Back to List", "Index","Home") %> 
  •      
  •  
  • 分析

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

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

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

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

     
     
     
     
    1.  
    2.     
    3.  
    4.  
    5.  
    6.       
    7.          $(document).ready(function () {  
    8.              $("input:text.date").datepicker(  
    9.             {  
    10.                 dateFormat: "yy-mm-dd"  
    11.             });  
    12.          });  
    13.      

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

    创建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.NETMVC2.0之添加操作
    转载来源:http://www.csdahua.cn/qtweb/news2/370002.html

    网站建设、网络推广公司-快上网,是专注品牌与效果的网站制作,网络营销seo公司;服务项目有等

    广告

    声明:本网站发布的内容(图片、视频和文字)以用户投稿、用户转载内容为主,如果涉及侵权请尽快告知,我们将会在第一时间删除。文章观点不代表本网站立场,如需处理请联系客服。电话:028-86922220;邮箱:631063699@qq.com。内容未经允许不得转载,或转载时需注明来源: 快上网

    成都快上网为您推荐相关内容

    搜索引擎优化知识

    分类信息网