您的位置:首页 > 编程语言 > ASP

《ASP.NET MVC 4 实战》学习笔记 1:第一个MVC用程序(上)

2014-11-04 08:14 956 查看
开发环境为VS 2013 Ultimate,首先新建一个名为Guestbook的MVC项目,具体过程就不表啦,因为我比较懒 哈哈!

一、默认模板分析(开发工具会自动创建一个可以运行的项目):

1.控制器:继承于Controller基类的类,其中的方法(称为动作即Action)对应于某个URL。





1 namespace Guestbook.Controllers
2 {
3     public class HomeController : Controller // 继承于Controller
4     {
5         public ActionResult Index()
6         {
7             return View();
8         }
9
10         public ActionResult About()
11         {
12             //ViewBag本质上是一个字典,
13             //它提供了一种存储数据的方式,这些数据随后能够在视图中进行访问
14             ViewBag.Message = "Your application description page.";
15
16             return View();//指示应该渲染的视图
17         }
18
19         public ActionResult Contact()
20         {
21             ViewBag.Message = "Your contact page.";
22
23             return View();
24         }
25     }
26 }


View Code
2.注册路由:RegisterRoutes方法定义一个将URL模式映射到控制器或动作的路由。





1 namespace Guestbook
2 {
3     public class RouteConfig
4     {
5         public static void RegisterRoutes(RouteCollection routes)
6         {
7             routes.IgnoreRoute("{resource}.axd/{*pathInfo}");//框架不必处理含有.axd扩展文件名的任何路径
8
9             routes.MapRoute(
10                 name: "Default",//路由名
11                 url: "{controller}/{action}/{id}",//URL模式
12                 defaults: new { controller = "Home", action = "Index", id = UrlParameter.Optional }//路由默认值
13             );
14         }
15     }
16 }


View Code
%26nbsp;二、Code First方式创建SQL Server数据库:

1.添加模型:即数据库中对应的数据表





1 namespace Guestbook.Models
2 {
3     public class GuestbookEntry
4     {
5         public int Id { get; set; }
6         public string Name { get; set; }
7         public string Message { get; set; }
8         public DateTime DateAdded { get; set; }
9     }
10 }


View Code
2.使用ORM工具--Entity Framework与数据库交互:

  1).添加一个继承于DbContext基类的类:





1 namespace Guestbook.Models
2 {
3     public class GuestbookContext:DbContext
4     {
5         public GuestbookContext()
6         {
7         }
8
9         public DbSet%26lt;GuestbookEntry%26gt; Entries { get; set; }
10     }
11 }


View Code
  该上下文类同时定义了一个单独的属性Entries,是将其作为在GuestbookEntries表(EF自动创建的表为实体模型名的复数)中查询数据的集合。

  2).在Web.config文件中添加数据库连接字符串:





%26lt;add name="GuestbookContext" connectionString="Data Source=.;Initial Catalog=Guestbook;Integrated Security=True"
providerName="System.Data.SqlClient" /%26gt;


View Code
  注意:1.连接字符串的名字要和上下文类的名字相同,否则要将字符串的名字传递到上下文类的构造方法中;

      2.此时运行程序并不会创建数据库!因为这一点折腾了蛮久,后来才发现在对数据表发生操作行为的时候数据库才会被自动创建。哎,菜鸟就是菜鸟。。。

三、珍珠奶茶(增删改查)--操作数据:

  1.选择下图框中选项会自动创建CRUD操作方法和相关的视图文件:



  2.选择模型和上下文类:



  3.此时运行程序输入网址如下所示:



  4.上图显示GuestbookEntries表中的数据列表,因为暂时还没有添加数据所以列表为空,只有一个Create New链接;不过现在数据库和对应的表应创建,如下图:



  5.点击Create New链接,跳转到新增页面,填写对应内容后提交:



  提交成功后,重新跳转到列表页面,可以看到每列数据均对应编辑和删除操作,是不是好强大!



%26nbsp;

下篇试着分析自动生成的代码,to be continued...
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: