ASP.Net MVC框架配置与分析

前几年的时候ASP.Net就有MVC的概念,实际上就是我们熟悉的WebForm开发模型。

1、Model层与视图无关,并且只与数据库相关:
伪代码:
pulic class Model
{
      pulic DataSet ds()
      {
            //数据库库取数据
            return ds;
      }
}

2、Controller实际上就是我们熟悉的Default.aspx.cs文件,继承自System.Web.UI.Page 类的文件
3、View就是aspx文件了

而今,微软推出了新的MVC开发框架,也就是Microsoft ASP.NET 3.5 Extensions。可以从这里下载:http://download.microsoft.com/download/6/5/c/65cad864-54a5-463a-9573-bc7d0bbc1df9/ASPNetExt.exe

当然,安装之前必须安装VS2008。安装完后可以在创建项目的地方增加以下两种项目。

MVCProject.gif
一种是“ASP.NET MVC Web Application and Test”会同时创建MVC项目和一个测试项目,一个是ASP.NET MVC Web Application,只会纯粹的建立MVC项目。而在项目中引用新文件的时候,也会增加MVC的页面。
MVCItem.gif

在创建MVC项目以后,会增加以下文件
MVCPV.gif

访问的机制是通过URL重写实现的。因此,你需要设置IIS映射。MVCIIS.gif


MVC是通过HttpModule进行地址重写的

  <httpModules>
   
<add name="ScriptModule" type="System.Web.Handlers.ScriptModule, System.Web.Extensions, Version=3.6.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35"/>
   
<add name="DynamicDataModule" type="System.Web.DynamicData.DynamicDataHttpModule, System.Web.Extensions, Version=3.6.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35"/>
   
<add name="UrlRoutingModule" type="System.Web.Mvc.UrlRoutingModule, System.Web.Extensions, Version=3.6.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35" />
  
</httpModules>


而在Global.asax.cs中设置了映射关系
   //设置Url重写映射
   //URL格式设置了访问的为controller(这里是Home),action对应HomeController里的方法
   RouteTable.Routes.Add(new Route
   {
    Url = "[controller]/[action]/[id]",
    Defaults = new { action = "Index", id = (string)null },
    RouteHandler = typeof(MvcRouteHandler)
   });

    //设置默认访问地址,因此主目录下看似无用的Default.aspx不能删除掉
    //controller ="Home"设置的是访问的路径,这里对应上图中的Home目录,也对应了HomeController的类名
   //action是对应HomeController.cs类中的Index方法。
   RouteTable.Routes.Add(new Route
   {
    Url = "Default.aspx",
    Defaults = new { controller = "Home", action = "Index", id = (string)null },
    RouteHandler = typeof(MvcRouteHandler)
   });

HomeController.cs代码:
 public class HomeController : Controller
 {
  [ControllerAction]
  public void Index()
  {
   RenderView("Index");
  }

  [ControllerAction]
  public void About()
  {
   RenderView("About");
  }
 }

在HomeController中找到要访问的页面

最后要说明的是Html.ActionLink("About Us", "About", "Test")方法,能够实现自动链接处理,
参数1是 链接显示的文字
参数2是 要访问的文件
参数3是 访问的目录,尽管参数名是controllerName.


全文完。2008年1月18日 by Birdshover
 
http://www.cnblogs.com/birdshover/  

posted @ 2008-01-18 01:11 Birdshover 阅读(8034) 评论(15)  编辑 收藏 网摘 所属分类: ASP.Net2.0

  回复  引用  查看    
#1楼[楼主]2008-01-18 01:29 | BirdsHover      
很有意思的是,框架实现的默认页面,很有JAVA的风格。和JAVA用的颜色太像了
  回复  引用    
#2楼2008-01-18 02:24 | saucer[未注册用户]
WebForm概念跟MVC的概念相差还是比较远的

  回复  引用  查看    
#3楼2008-01-18 09:09 | 蓝天旭日      
微软哦
  回复  引用  查看    
#4楼2008-01-18 09:12 | tianyamoon      
在正式版的VS2008上安装还需要什么条件?
  回复  引用    
#5楼2008-01-18 09:14 | 风行 深蓝[未注册用户]
WebForm是被称为MVC Model1,而现在广为流传的是MVC Model2
  回复  引用    
#6楼2008-01-18 13:40 | xiaosanaiq[未注册用户]
请问博主。。在iis里做影射。。。您的iis是什么版本?。。请问5.1 的您知道如何配置么?。。。
  回复  引用  查看    
#7楼[楼主]2008-01-18 15:15 | BirdsHover      
@xiaosanaiq
我的是IIS6.0,5.1就不清楚怎么设置了

  回复  引用  查看    
#8楼[楼主]2008-01-18 15:15 | BirdsHover      
@xiaosanaiq
你可以把你的IIS升级到IIS6.0

  回复  引用  查看    
#9楼2008-01-18 17:58 | Shawn Ji      
我是装的是
Microsoft Visual Web Developer 2008 Express Edition
装完Microsoft ASP.NET 3.5 Extensions,没有出现
ASP.NET MVC Web Application
模板。

  回复  引用    
#10楼2008-01-19 21:51 | knaverabbit[未注册用户]
这个框架D下来看了一下,我个人觉得这个框架的存在没有任何意义。我觉得不用这个框架在VS.NET中实现MVC更容易而且也更好理解。
  回复  引用  查看    
#11楼2008-03-19 12:18 | somesongs      
seems like monorail
  回复  引用  查看    
#12楼2008-05-14 15:04 | 镜涛      
学习啦
  回复  引用  查看    
#13楼2008-05-16 01:54 | 镜涛      
学习
  回复  引用    
#14楼2008-12-04 11:41 | 老鹰爱小清[未注册用户]
呵呵 楼主你也学软件开发的吗?什么时候我们一起讨论一下啊 现在的MVC还是beta版的,正式版都没出来 可是我们都练得很熟了 我们是结合Linq开发软件的 MVC确实不错...楼主会Linq吗?数据层用Linq开发很的快一拖过来就可以用,免去写一大堆的数据逻辑了 哈~~
  回复  引用    
#15楼2008-12-17 17:36 | 小灵子[未注册用户]
是不是先安装才能运行呢?



发表评论

昵称: [登录] [注册]

主页:

邮箱:(仅博主可见)

评论内容:

  登录  注册

[使用Ctrl+Enter键快速提交评论]

0 1043749




相关文章:

相关链接: