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

本文介绍如何在MVC框架中定义新闻实体类并添加必要的验证规则,同时展示了如何通过向导工具创建视图及实现日期控件的集成。

创建数据模型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 视图成功。此文件的核心代码如下所示:
 
< asp : Content  ID="Content2" ContentPlaceHolderID="MainContent" runat="server">
    <h2>
         ¬¨ª ¨® ? ?</h2>
    <% using (Html.BeginForm())
       {%>
    <%: Html.ValidationSummary(true%>
    <fieldset>
        <legend> ? ?</legend>
        <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=" ¬¨ª ¨®"  />
        </p>
    </fieldset>
    <% } %>
    <div>
        <%: Html.ActionLink("Back to List""Index","Home"%>
    </div>
</ asp : Content >
 
分析:
    在日期文本框中,新增加属性 new  { @class = "date" }) ,此 Class 属性是为了稍后的日历控件的显示。要使日期文本框显示日期控件,可以使用 Jquery UI ,方法是:
1/ Jquery UI 官方网站 http://www.jqueryUI.com 下载最新的  UI 类库
2 、添加日历控件的 CSS 文件和 JS 文件到项目中,如下图
 









本文转自 灵动生活 51CTO博客,原文链接:http://blog.51cto.com/smartlife/338362,如需转载请自行联系原作者

MVC2.0入门必读教程程序源码 前言 ASP.NET MVC作为微软官方的MVC解决方案,推出有一段时间了。可以说自动推出以来,一直广受关注。在经历了漫长的Preview之后,前几天终于推出了其beta版。并且在官方文档中,微软声明最终的正式版与beta版相比不会有大的变化。所以,对于.NET平台的开发人员来说,是时候学习ASP.NET MVC了。 本系列文章作为一个ASP.NET MVC的入门教程,将不会长篇大论介绍其中的概念及理论。而是通过案例实践来学习ASP.NET MVC。在这系列文章中我将逐步完成一个“公告发布系统”。我的写作策略是:先动手做,遇到需要解释概念和理论的时候再解释,而不是先把概念和理论解释完再做东西。 另外,我还有几点要说明的: 1.为了将大家的关注点充分集中在ASP.NET MVC上,这个Demo的业务处理将使用Mock的方式。即不会真正去访问数据库,而是虚拟一些数据。 2.本Demo将不考虑任何美工问题。 下面,让我们一起开始ASP.NET MVC之旅吧。 配置环境 如果您还没有安装ASP.NET MVC的话,请到这里(http://www.microsoft.com/downloads/details.aspx?FamilyId=A24D1E00-CD35-4F66-BAA0-2362BDDE0766&displaylang=en)下载安装。 下载后,按提示安装就可以了。 新建项目 安装完ASP.NET MVC后,在VS里新建一个项目,可以看到有一个“ASP.NET MVC Web Application”的选项,选择它,新建一个项目,并命名为“MVCDemo”。 建完项目后,可以看到默认情况下已经建立了很多文件夹,这里简略说一下各个文件夹的作用。 Content——存放应用需要的一些资源文件,如图片、CSS等。 Controllers——存放控制器类。 Models——存放业务模型组件。 Scripts——存放JavaScript脚本文件。 Views——存放视图。 现在不了解一些概念没关系,后续文章将慢慢解释。 本程序中包括MVC基本的使用以及MVC内置拦截器( 在ASP.NET MVC中,有三种拦截器:Action拦截器、Result拦截器和Exception拦截器。)本程序中用到了第一种和第三种。其实也没什么神秘的,就是一个普通的类而已。只不过需要继承FilterAttribute基类,Action拦截器还要实现IActionFilter接口,而Exception拦截器需要实现IExceptionFilter接口。拦截器主要在Controllers目录下的Filters目录下。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值