ASP.NET MVC 5入门小结

1.前言

 

     本人在读研究僧一只,老师那里使用的是ASP.NET的Web Forms技术,真的要感慨一句:尼玛太老旧了!之前耳闻Python的高效开发,曾经学过一点Python的Django框架,这是我第一次接触MVC的模式。之后回到.NET平台,ASP.NET MVC自然成为了我学习的首选。这里补充一句,之前为了方便地制作网页特地花时间学习了一下Bootstrap,当我发现ASP.NET MVC 5集成了Bootstrap之后欣喜若狂,果断选择MVC5。

 

2.MVC模式基本图解

 

image

 

    

     在上图中我标注了5个要点:

(1)映射路由与URL路由逻辑

     路由的功能是根据客户端获取的URL来调用不同控制器类(Controller Class)下的动作方法(Action Method)。默认的URL路由逻辑是由如下格式的URL来决定代码的调用:

   1: /[Controller]/[ActionName]/[Parameters]

     当然,我们可以通过修改App_Start/RouteConfig.cs文件来自定义添加和修改路由逻辑,如:

   1: routes.MapRoute(
   2:  
   3:     name:"Hello",
   4:  
   5:     url:"{controller}/{action}/{name}/{id}"
   6:  
   7: );

(2)动作方法(Action Method)的返回值类型

     调用动作方法后返回值类型可以为string,这样就以硬编码(hard-code)的方式直接把字符串输出到浏览器中。

     也可以返回一个视图对象(View object),利用视图模板来产生一个对浏览器的HTML响应,一般返回ActionResult或者其派生类型,而不是字符串。

(3) 向视图模板传递数据或对象

     从控制器向视图模板传递参数时可以使用ViewBag。ViewBag是一个动态对象,我们可以把任何信息放进去。在我们把数据放进去之前不会有任何已定义的属性。

     MVC也支持传递强类型对象,这种强类型的方法使得编译时能有更好的代码检查和Visual Studio编辑器中更丰富的IntelliSense功能。

(4)继承自DbContext的数据库环境(Context暂译作环境)

     在定义模型类的cs文件中还要定义一个对象环境类,这个类代表Entity Framework数据库环境,用来处理模型类实例在数据库中的增删改查。这个类派生于有Entity Framework提供的DbContext基类。

(5)创建数据库连接字符串

     数据库的连接字符串指定使用的数据库,Entity Framework默认使用LocalDB(一种轻量级的SQL Server Express数据库引擎)。默认地,Entity Framework寻找一个和对象环境类相同命名的连接字符串。

     我们可以手动在应用的根目录中的Web.config文件中添加连接字符串。在<connectionStrings>标签中添加如:

   1: <add name="MovieDBContext" connectionString="Data Source=(LocalDb)\v11.0;AttachDbFilename=|DataDirectory|\Movies.mdf;Integrated Security=True" providerName="System.Data.SqlClient"/>

     我们其实不必去添加上述连接字符串。如果我们不指定一个连接字符串,Entity Framework会在用户目录下用DbContext的完全限定名称创建一个LocalDB数据库。我们可以任意命名该数据库,只要是以.MDF为后缀名。

 

3.后记

 

     小弟是菜鸟一只,感兴趣的方向是ASP.NET和Python,求学意识强烈可惜身边没有可以交流请教的高人和朋友。如果哪位大侠朋友愿意和我交流讨论的请不吝指教,我的邮箱是name.wuzhiyu@outlook.com

posted @ 2014-03-09 17:08  Dr. Lightman  阅读(566)  评论(0编辑  收藏  举报