从零开始学习ASPWord下载.docx
- 文档编号:15901045
- 上传时间:2022-11-16
- 格式:DOCX
- 页数:50
- 大小:51.61KB
从零开始学习ASPWord下载.docx
《从零开始学习ASPWord下载.docx》由会员分享,可在线阅读,更多相关《从零开始学习ASPWord下载.docx(50页珍藏版)》请在冰豆网上搜索。
随着ASP.NETMVC1.0版本的正式发布,我将本系列文章也更新到了1.0,对于已经发表的文章我都会根据1.0版本重新编辑.希望本系列文章能打给大家帮助.
二.前言
ASP.NETMVC是微软官方提供的开源MVC框架.在经过了漫长的preview和2个RC版本后,终于发布了1.0版本.其实从RC开始ASP.NETMVC的核心代码就已经趋于稳定.所以现在开始学习ASP.NETMVC是一个很好的时间点.学习的早,而且不用担心知识过时.
本系列教程是我在学习ASP.NETMVC时的总结,比如虽然我学习老赵的视频教程,但是因为版本较老,一般我都要从最新版本上进行知识的校验与升华,然后将最后的精华总结出来写成文字.现在还在不断的学习,不断地写作.希望大家喜欢本系列文章,我将用精益求精的精神写本系列文章.
三.HelloASP.NETMVC
现在开始跟着我一步一步学习ASP.NETMVC.在什么都不知道之前,还是让我们先下载一个ASP.NETMVC程序.当看到程序运行后,我的心才会踏实很多.
首先去ASP.NETMVC的官网看看:
这里我们可以下载ASP.NETMVC的安装文件.目前最新版本是1.0,另外我们可以在CodePlex上获取源代码:
在官网上下载ASP.NETMVC安装文件,一路回车完成安装.启动VS2008SP1(不是VS2008?
不是SP1?
作为一个专业的IT人士,水平可以菜,软件咱一定要用新的!
去找个新版本吧!
),点击新建,在Web中可以找到:
点击确定即创建了一个默认的MVC项目.同时还会创建一个测试项目.这些我现在都不懂也不关注,直接将Web项目中的default.aspx设置为启动页,运行项目,一个ASP.NETMVC的项目已经运行在我的电脑上了:
而且那个Home和About还能点击!
虽然现在我什么都不懂,不过看着能运行的实例,心里就踏实多了!
四.学习MVC的概念
一个ASP.NET页面通常需要做这些事情:
获取一个页面需要的数据.
在页面的Page_Load(页面加载)方法中为我们的页面控件绑定数据
浏览器显示页面
MVC即Model,View,Controller
Model就是我们1中获取的网页需要的数据
Controller就是我们获取数据,然后将数据绑定到页面控件的这个业务流程.不十分正确但是可以先这样理解:
Controller就是我们的Page_Load方法逻辑.
View就是我们的aspx页面,注意这是一个不包含后台代码文件的aspx页面.(其实带有.asp.cs文件也不会有编译错误,但是这样写代码就违背了MVC的设计初衷)
下面这张图很好的概括了MVC的作用:
一个URL请求,ASP.NETMVC引擎会分析这个URL要使用那个Controller,这个Controller(实际上真正的方法是Controller的Action)从数据库或者其他数据源获取数据,通常这些数据是一个业务的模型类(即MVC中的Model).Controller将Model对象传递给页面(即MVC中的View),页面显示在浏览器上.(这一步是ViewEngine的功能,我们一般的ASPX页面使用的是WebForm的ViewEngine,当然也可以替换.)
五.学习实例首页
简单的概念也有了.实例也能运行了.现在就是看看这个实例是如何使用ASP.NETMVC的.从首页下手.
1.寻找入口方法
首页网站的地址应该是http:
//localhost:
1847/home/index(1847是端口号,随机生成,所以会不同),为什么地址不是具体的页面但是最后却将请求提交给了view/home/Index.aspx页面?
很明显是使用了URL重写.ASP.NET中叫做UrlRouting,对应的程序集是System.Web.Routing,打开项目的Global.asax.cs文件,会找到我们建立的页面重写规则:
publicstaticvoidRegisterRoutes(RouteCollectionroutes)
{
routes.IgnoreRoute("
{resource}.axd/{*pathInfo}"
);
routes.MapRoute(
"
Default"
//Routename
{controller}/{action}/{id}"
//URLwithparameters
new{controller="
Home"
action="
Index"
id="
"
}//Parameterdefaults
);
}
protectedvoidApplication_Start()
RegisterRoutes(RouteTable.Routes);
关于Routing的深入了解将在以后介绍,这里我们完全可以照葫芦画瓢,按照实例添加新的重写规则.
最后,http:
1847/home/index就被解析为:
Controller为Home,Action为Index,没有id参数.
2.寻找Controller
在Controllers文件夹下我们可以找到HomeController.cs,这里使用了一个约定,就是如果URL中获取到的Controller名字是Home,则他的Controller类名就是HomeController.在URL中的名字后加上”Controller”.
实例中Controller都放在Controllers文件夹,所以我们可以按照命名约定很容易就可以找到HomeController类
3.寻扎Action
打开HomeControllers.cs,发现里面有两个方法:
publicActionResultIndex()
ViewData["
Message"
]="
WelcometoASP.NETMVC!
;
returnView();
publicActionResultAbout()
其中的Index和About都是Action.这个Action是个什么东东呢?
目前我只知道一个Controller可以包含多个Action,MVC模式中Controller角色的具体实现逻辑都是在Action中的.
因为我们的Action是Index,所以自然就要调用Index()方法.这里将"
WebcometoASP.NETMVC!
这里的Model角色就是这句话,也就是一个字符串对象.
Controller的一个重要作用就是将Model对象传递给View,也就是具体的页面.传递的方法就是将这个字符串放到ViewData这个集合对象中,然后在页面上也调用这个对象获取数据.这个ViewData对象一定是静态的,或者至少是和HttpContext对象关联的,否则到了View页面上是不能够调用的.但是也不知道ASP.NETMVC是在什么时候创建了这个对象.有心深入的一会去源代码里找找就能找到答案了.
4.寻找View
Model有了,数据有了,接下来要跳转到View去显示数据了.第一个问题就是如何从Controller中跳到View上?
returnView()这句话实现了此功能.其实如果这样写大家会更清楚:
returnView("
index"
View方法中可以带一个名字,这个名字就是View的名字.如果把index改成about,那么访问/home/index就会跳转到about页!
虽然知道了我们要返回到名称是"
的View上,但是这个View的页面在哪里呢?
在Web中有一个Views文件夹:
这里面存放的都是View对象,也就是只有显示功能的aspx页面文件.但是aspx文件要遵循约定:
Views下面要按照Controller创建文件夹,比如HomeController就对应Home文件夹,然后在里面添加view,比如index.aspx,那么在HomeController中返回到名为Index的View对象实际就会返回Views/Home/Index.aspx页面.
如果不写View的名字,则认为Action的名称就是View的名称.
5.页面展示
最后的工作就是View页面使用Model数据完整页面显示工作,在index.aspx这个没有后台代码的View对象中,通过ViewData对象获取Model:
<
%=Html.Encode(ViewData["
])%>
接下来ViewEngine即页面引擎会将aspx中的HTML部分以及上面的数据部分和在一起返回给浏览器.
关于View对象我注意到此页面是继承自System.Web.Mvc.ViewPage而不是直接继承自System.Web.UI.Page,而这个ViewData对象就是ViewPage中的一个属性.这里的ViewData一定是页面级别的,当页面编译完毕这个对象就会被注销(HTTP是无状态的协议,每次请求其实都是生成一个新的ViewPage对象).
六.总结
虽然仅仅是第一篇入门文章,但是是不是觉得已经会用ASP.NETMVC了?
虽然学习不可以骄傲,但是可以自豪的是ASP.NETMVC我已经不再陌生,即使不能驾轻就熟,偶尔说出来几个概念,给你解释解释啥是MVC,还是很能吓唬人的.在后续文章中,我将对MVC的各种细节做具体的讲解.希望大家喜欢本系列文章!
从零开始学习ASP.NETMVC1.0
(二)识别URL的Routing组件
本篇文章从基础到深入的介绍ASP.NETMVC中的Routing组件.Routing翻译过来是"
路由选择"
负责ASP.NETMVC的第一个工作:
识别URL,将一个Url请求"
路由"
给Controller.
二.承上启下
第一篇文章中我们已经学会了如何使用ASP.NETMVC,虽然其中还有很多的细节没有深入了解,但是对基本的处理流程已经有了认识:
来了一个Url请求,从中找到Controller和Action的值,将请求传递给Contro
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 从零开始 学习 ASP