ASP.NET MVC Framework体验(1):从一个简单实例开始

来源:互联网 发布:oracle的默认端口号 编辑:程序博客网 时间:2024/05/14 07:43
概述
12月10日微软发布了ASP.NET 3.5扩展的预览版,在其中包括了ASP.NET MVC Framework、ASP.NET AJAX改进、ASP.NET动态数据支持、ASP.NET SIlverlight支持、以及ADO.NET Data Services等。我也在第一时间下载下来进行了安装,体验了一下微软的ASP.NET MVC Framework。
提起MVC,相信大家都不陌生了,这里简单的提两句,将一个应用的实现分成三部分:模型(Model)、视图(View)、控制器(Controller)。模型用来保持状态,视图只负责信息的显示,控制器用户处理和回应用户的输入和交互。本文就通过一个简单的实例来体验一下ASP.NET MVC Framework。
安装
1.需要安装VS2008 RTM或者Visual Web Developer 2008 Express。
2.下载安装ASP.NET 3.5 Extensions。下载地址:http://asp.net/downloads/3.5-extensions
创建MVC应用程序
安装完成后,会在新建网站里面看到ASP.NET 3.5 Extensions Web Sites一项(我用的是Visual Web Developer 2008 Express):

建立完成后,站点的结构与普通的Web Site并没有不同(在VS 2008 RTM下不知道是什么样的),只不过在Web.config中添加了一些配置,如添加了UrlRoutingModule:
<add name="UrlRoutingModule" type="System.Web.Mvc.UrlRoutingModule,
      System.Web.Extensions, Version=3.6.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35" />
建立数据模型对象(Model)
在App_Code文件夹下,建立一个Models文件夹,添加一个LINQ to SQL Classes:

命名Product为ProductInfo。
建立控制器(Controller)
在App_Code文件夹下,建立Controllers文件夹,并添加ProductController.cs,编写代码如下:
public class ProductController : Controller
{
    [ControllerAction]
    public void Index()
    {
        MSPetShopDataContext db = new MSPetShopDataContext();
        ProductInfo productinfo = db.ProductInfos.Single(p => p.ProductId == "BD-03"); 
 
        RenderView("Product", productinfo);
    }
}
这里创建了一个名为Index的Action,查询产品信息。并调用RenderView方法,第一个参数Product指定要显示的视图名,第二个参数是传递给视图的数据。
建立视图(View)
在站点下添加Views文件夹,并添加Product.aspx,使其不再继承于Page,而继承于泛型的ViewPage:
public partial class Product_Product : ViewPage<ProductInfo>
{
    protected void Page_Load(object sender, EventArgs e)
    {
 
    }
}
显示数据,在ASPX中编写:
<div>
    <h2>ProductDetail:</h2>
    ProductId<%= ViewData.ProductId %><br /><br />
    Name<%= ViewData.Name %><br /><br />
    Descn<%= ViewData.Descn %>
</div>
这里也可以使用服务器控件进行数据的显示,后面再说。
配置路径选择(Route)
最后一步,需要在Global.asax中配置路径选择,在Application_Start中编写:
void Application_Start(object sender, EventArgs e)
{
    // Code that runs on application startup
    RouteTable.Routes.Add(
        new Route
        {
            Url = "[controller]/[action].mvc",
            Defaults = new { action = "Index"},
            RouteHandler = typeof(MvcRouteHandler)
        }
        );
}
这里配置的路径相当于访问时的示例路径为Product/Index.mvc,如果如下配置:
void Application_Start(object sender, EventArgs e)
{
    // Code that runs on application startup
    RouteTable.Routes.Add(
        new Route
        {
            Url = "[controller]/[action]",
            Defaults = new { action = "Index"},
            RouteHandler = typeof(MvcRouteHandler)
        }
        );
}
那就等于访问的时的路径为Product/Index,不带有MVC的扩展名。
完成运行
至此,一个简单的MVC例子编写完成,运行后:

结束语
对于ASP.NET MVC Framework简单的体检就到这里了,后面有时间我会写一些复杂一点的示例,不管怎么说,ASP.NET MVC Framework为我们开发Web应用多提供了一种选择。
示例文件下载:/Files/Terrylee/MVCDemo01.rar
作者:TerryLee
出处:http://terrylee.cnblogs.com
 
原创粉丝点击
热门问题 老师的惩罚 人脸识别 我在镇武司摸鱼那些年 重生之率土为王 我在大康的咸鱼生活 盘龙之生命进化 天生仙种 凡人之先天五行 春回大明朝 姑娘不必设防,我是瞎子 尿涨但是尿很少怎么办 十四岁尿血医生说是肾炎怎么办 吃肉反胃想吐怎么办 母牛排尿带血尿发烧怎么办 4岁发烧40度怎么办 狗狗拉肚子咳漱哮喘怎么办 拉肚子拉脱水人无力怎么办 孕中期拉稀拉水怎么办 吃坏肚子拉稀水怎么办 手上起小疙瘩疼怎么办 手上长东西很痛怎么办 七八十斤猪拉稀怎么办 宝宝扁桃体化脓反复发烧怎么办 骑单车后膝盖痛怎么办 孩子一运动就喘怎么办 小孩晚上咳嗽很厉害怎么办 1岁宝宝夜里咳嗽怎么办 咳嗽咳的胸疼怎么办 儿童又咳又喘怎么办 咳嗽咳到胸口痛怎么办 咳嗽咳得肋骨疼怎么办 孕妇咳嗽咳得胸口疼怎么办 怀孕偏左侧宫腔怎么办 晨起活动后咳嗽怎么办 运动后乳房坠痛怎么办 嗓子痒咳嗽怎么办夜间最为难受 小孩鼻炎引起的咳嗽怎么办 跑完800米喉咙痒怎么办 过敏源总ige高怎么办 一岁宝宝咳嗽喘怎么办 宝宝又咳又喘怎么办 3岁宝宝有痰怎么办 小孩又咳又喘怎么办 宝宝有点吼和喘怎么办 气管里呛了辣油怎么办 玩手机手抖该怎么办 紧张到手抖做不了事该怎么办 做什么事手抖怎么办啊 跳舞时不会提气怎么办 啤酒喝多了手抖怎么办 头撞了一下头疼怎么办