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

创建数据模型Model

数据模型主要包括数据信息、验证规则以及业务逻辑。
创建 Model 的方式有多种 , 可以使用微软的 ADO.NET Entity Data Model ,也可以使用第三方工具生成实体对象,对于比较简单的实体,我们可以手工添加,此处就是手动敲上去的。
<?XML:NAMESPACE PREFIX = O />

 
<?XML:NAMESPACE PREFIX = V />
                                                           
 
分析:此处定义了新闻实体对象的的一些属性,在每个 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 文件到项目中,如下图

 

 
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、付费专栏及课程。

余额充值