MVC1.0下载地址:http://www.microsoft.com/download/en/details.aspx?id=5388
博客园:http://kb.cnblogs.com/zt/mvc/
张知秋:http://www.cnblogs.com/zhangziqiu/archive/2009/02/27/ASPNET-MVC-1.html
重典deBlog:http://www.cnblogs.com/chsword/archive/2008/09/29/aspnetmvc_video.html
http://kb.cnblogs.com/page/100217/
《从零开始学习ASP.NET MVC 1.0》 文章导航
- (一) 开天辟地入门篇
- (二) 识别URL的Routing组件
- (三) Controller/Action 深入解析与应用实例
- (四) View/Model 全解
- (五) ViewEngine 深入解析与应用实例
通过对MVC的学习,我们可以看到MVC有如下特点:
1) 业务处理与显示分离:ASPX页面与CS代码彻底分离。更好的复用和维护。
2) 服务器端的表单控件不再被提倡使用,取而代之使用传统的input,或直接让Html.TextBox生成控件标签。
3) 没有了事件驱动模型。在ASP.NET MVC中,当某个按钮被点击,你不要再习惯性想到应该在相应的aspx.cs中有
个Click处理方法,你应该想到的是该有某个Controller中有个Action来处理这个事件。
4) 没有了数据绑定。如果你习惯了GridView的数据绑定,在ASP.NET MVC中则需要改变思路,你自己动手解决。
5) 增加了地址重写。MVC的Routing组件让我们可以很好的进行URL路由处理。
6) 总体来看,可以理解MVC是基于Web Form的一种编程方式模型扩展,是一种表示层的编程模型方案。
基于三层架构的MVC模式应用的完整示例项目源码下载
今天正式开始自学MVC,开始万里长征的第一步,争取每天都有所进步。下面是我学习MVC的一些笔记,想让自己对MVC有个简单清晰地认识,也希望对于没有接触过MVC框架的园友有所帮助吧!(以下总结仅为个人的学习整理)
一.准备工作。
1.安装VS2008.
2.下载MVC安装包。(如果之前下载安装过不同版本的安装包,需要先卸载再安装。)
二.打开VS2008创建MVC项目。
1.默认应用工程的作用。
2.访问路径:http://IP地址:端口号/ControllerName/ActionName
注意:修改了cs类型的文件要重新生成。
三.MVC运行原理
客户端向Controller发起请求,调用Controller的路径函数。再将要显示的数据放在Views中,再在页面呈现。
而要与数据库打交道的时候才使用到Models,运用ORM(对象关系模型)很多情况在使用LinQ...。
四.实现Controller与Action之间的传值。
对象一:ViewDate
1)简单的字符串:
Controller:
View:
2)简单类型:
Controller:
Views:
3)简单对象。
赋值:ViewDate["Models"]=users;
取值:<% User user=ViewDate["Models"] as Users; %>或者 赋值用return View(users); 取值:页面引用该类型,再ViewDate.Models.属性值.
对象二:TempDate(与ViewDate不同的是,可以跨Action传值一次。用法大致与ViewDate一致)
常用之处:当一个Action中需要将Error抛出到另一个Action显示时。
五.重定向
1.Action中的的重定向。
1).在同一个Controller中:return RedirectToAction("ActionName");
2).不在同一个Controller中:return RedirectToAction("ActionName","ControllerName");
2.Global.asax文件中定义映射访问路径的规则。
六.Filter过滤器(在Action或者return View()之前/之后执行)
1.作用:
2.创建过滤器:
1)新建cs文件,继承ActionFilterAtrribute类.
2)控制Action运行之前:重写OnActionExecuting。一般用户是否登录,只有登录才能进入Action.
控制Action运行之后: 重写OnActionExecuted.
控制return View()之前:OnResultExeccuting.
控制return View()之前:OnResultExeccuted.
3)使用Filter:如果是整个Controller中得Action都需使用,则在Controller上填上属性[Filter文件路径];如果只有某一个Action需要,则在该Action上添加Filter文件路径。
七.Helper(MVC不推荐使用服务器端控件,所以需要使用Helper显示数据)
1.HtmlHelper
1)超链接:<%=Html.ActionLink("连接显示文字","ActionName","ControllerName")%>
2)文本框,单选按钮,按钮...:<%=Html.TextBox("ID")%> <%=Html.SubmitButton("id或name","显示文字")%> <%=Html.Password("ID")%>
3)输出时编码:<%=Html.Encode("")%>
4)单选框:
<% foreach(string r in Html.RadioButtonList("name属性",数据源)) {%>
<%=s%>
<%}%>
5)复选框:
<% Html.CheckBox("name属性",值) %>复选
注意:Action中接收单选框或者复选框的值一定要保证Name与参数名一致。如果需要传递的参数有很多个,可以采用数组的方式接收。
2.UrlHelper
1)<%=Url.Action("ActionName","ControllerName",
new {word="传值"},new {@class="链接中引用的方法"} //匿名函数
) %>
2)<%=Url.Content("//显示文件的路径")%>
八.QueryString传值。(略)
九.表单生成和Post传值.
<% using(Html.Form("ControllerName","ActionName",FormMethod.Post)) {%>
//表单内容...
<% }%>
Action获取表单: Request.Form["表单元素ID"]或者直接在Action方法中添加参数。(注意:参数名要和表单元素ID一致.)
十.UpdateModel(Model,Request.Form.AllKeys);
不仅可以用户Post方式提交,也可以用于Get方式提交。
相对于Request.QueryString/Request.Form[".."]更具有智能性。
参考的视频教程地址:http://www.cnblogs.com/chsword/archive/2008/09/29/aspnetmvc_video.html
===================================
基于三层架构的MVC模式应用示例源码
2009-6-8 21:30:54 (被阅读6099次)ASP.NET MVC是微软官方提供的开源MVC框架. 在经过了漫长的preview和2个RC版本后, 终于发布了1.0正式版本。自从微软发布ASP.NET MVC框架1.0正式版,对于MVC的讨论就不绝于耳。
下面是基于原来标准三层结构,做一个基于三层架构的MVC模式应用的完整示例项目,开放源码。
该项目涉及如下几项要点应用:
1) 整个解决方案基于标准的三层结构。
2) 表示层采用MVC模式。
3) 数据的增、删、改、查操作示例。
4) 基于MVC的列表数据显示及分页处理。
5) Linq的应用等。
搭建MVC开发环境:
.NET Framework 3.5 SP1 下载地址:
http://www.microsoft.com/downloads/details.aspx?displaylang=zh-cn&FamilyID=ab99342f-5d1a-413d-8319
-81da479ab0d7
VS.NET 2008 SP1 下载地址:
http://www.microsoft.com/downloads/details.aspx?familyid=27673C47-B3B5-4C67-BD99-
84E525B5CE61&displaylang=zh-cn
ASP.NET MVC框架1.0正式版下载地址:
http://www.microsoft.com/downloads/details.aspx?FamilyID=53289097-73ce-43bf-b6a6-
35e00103cb4b&displaylang=en
微软MVC官方网站:http://www.asp.net/mvc/
通过对MVC的学习,我们可以看到MVC有如下特点:
1) 业务处理与显示分离:ASPX页面与CS代码彻底分离。更好的复用和维护。
2) 服务器端的表单控件不再被提倡使用,取而代之使用传统的input,或直接让Html.TextBox生成控件标签。
3) 没有了事件驱动模型。在ASP.NET MVC中,当某个按钮被点击,你不要再习惯性想到应该在相应的aspx.cs中有
个Click处理方法,你应该想到的是该有某个Controller中有个Action来处理这个事件。
4) 没有了数据绑定。如果你习惯了GridView的数据绑定,在ASP.NET MVC中则需要改变思路,你自己动手解决。
5) 增加了地址重写。MVC的Routing组件让我们可以很好的进行URL路由处理。
6) 总体来看,可以理解MVC是基于Web Form的一种编程方式模型扩展,是一种表示层的编程模型方案。
基于三层架构的MVC模式应用的完整示例项目源码下载