欢迎一起来学习MVC 3.0,我们在一步一个脚印的做一个MVC 3.0的项目,期间会有很多值得探索的地方。将会学到Razor,Lampda,Entity Framework,Linq C#新特性等等知识,一起加油吧!
本次重点突破:
详解Controllers文件夹的作用,地位。
工具资源下载:http://download.csdn.net/detail/dhcsimida/6779357(下载过就不用重复下载了)
步骤如下:
(1)右键点击"Controllers"文件夹,依次选择"添加=>Controller"。
(2)弹出以下对话框。(一部分字符串被高亮显示)
(3)用"MyHome"替换掉高亮显示的字符串,点击"Add"按钮。
(4)呈现出以下代码段。
(5)右键单击"Index()"选择"Add View"。
(6)弹出以下对话框,直接点击"Add"按钮。
(7)呈现出以下代码段。
(8)在代码段末尾加上右侧代码 => <h6>My First MVC 3.0 APP</h6>
(9)点击执行按钮或直接按"F5",会报错,无法找到资源,下图。
(10)双击打开文件"Global.asax",其内容如下图所示。
(11)将上图所示的"Home"改成"MyHome",如下图所示,保存,再次执行。
(12)呈现出以下页面,之前加入的My First MVC 3.0 APP也正常显示。
(13)问答:
1,报错之后将"Home"改成"MyHome"就正确了,是为什么呢?
答:默认情况下,执行的是某个控制器的Index()方法,这个控制器到底选择哪个就要在"Global.asax"文件中进行配置,因为我们没有建立名为"Home"的控制器,而是建立了名为"MyHome"的控制器,并且"MyHome"控制器中还有Index()方法,因此改成"MyHome"就能找到资源,也就正确了。
2,"Global.asax"文件中都做了那些工作?
答:(1)对路由进行了配置,路由就是一种规约,用来限制用户的请求形式,如上所述,不遵循这种规约(配置本身就不存在的控制器)就会出问题。
(2)提供整个程序执行的初始入口。
3,程序都运行起来了,为什么没见到以前经常用到的Request Response 或者HttpUtility.HtmlEncode等等呢?
答:切记在Controller不要惦记着着这些了,因为MVC已经尽可能的避开这些东西麻烦程序员了,传到Controller这边的Action后都已经为你准备好了客户端请求参数,然而你非要写这些也没人拦着你,但会有高手说你还是菜鸟,逆时代潮流而活。程序员应该把精力放在业务上,做懂业务的程序员才是我们的出路,有没有发现现在的微软替我们做了太多,难道你没有想过有一天会有一个应届毕业生代替我们干了一辈子的程序员?不要等待那一天来临我们竟然不知所措。