ASP.NET MVC学习总结(二)

前不久学习了asp.net的webform,然后才来学习MVC的,感觉思维有了很大的改变,再用webform的思想就有些力不从心了,所以还是的忘记webform的东西,从头再来理解MVC3.0吧,下面就是从简单的开始吧。

  在asp.net的webform中如果要写的话就会写很多的sql语句的,比如:INSERT INTO TABLE(),SELECT。。。。。总之,就是要写大量的sql语句,特别是在复杂的分页sql语句,要是写不好的话还会出现一些意向不到错误,下面来看看MVC3.0中是怎么样的进行增删查改的吧:

(1)、数据的添加,代码如下:

 1   public ActionResult Create(User dpt)

 2         {

 3             var data = db.Departments.OrderByDescending(p => p.Name);

 4             ViewBag.DptName = data;

 5             try

 6             {

 7                 db.Entry(dpt).State = System.Data.EntityState.Added;

 8                 db.SaveChanges();

 9             }

10             catch (Exception ex)

11             {

12                 ViewBag.Ex = ex.Message;

13             }

14 

15             return View();

16         }

看一下代码中着色的代码吧,够简单的吧,它就是这样的简单的,你看了之后还想写sql语句吗?还在为了从前台获取数据写大量的“冗余代码”吗?试试吧!

(2)、下面再来看看删除的代码吧,不用写诸如DELETE。。之类的代码了吧,代码如下:

1   public ActionResult Delete(string LoginName)

2         {

3             User users = new User();

4             users.LoginName = LoginName;

5             db.Entry(users).State = System.Data.EntityState.Deleted;

6             db.SaveChanges();

7             return RedirectToAction("Index", new { id = Request.QueryString["page"] });

8         }

(3)、再给出数据列表的代码吧,如下:

 1  public ActionResult Index(int? id)

 2         {

 3             var list = from p in db.users.Include(p => p.Department) orderby p.ID descending select p;

 4             IEnumerable<User> data = list.ToPagedList(id ?? 1, 5);

 5             if (Request.IsAjaxRequest())

 6             {

 7                 return PartialView("_Index", data);

 8             }

 9             else

10             {

11                 return View("Index", data);

12             }

13         }

怎么样呢?在列表页的数据,你还在为了写分页sql那样复杂的代码愁吗?不要犹豫了,你来试试吧,不过ToPagedList(id ?? 1, 5);是已经实现的方法的哦,在实际的MVC3.0中没有自带的,下次给出不用已经实现的代码的方式,正在不断的总结中。。。。。。。。。

    

你可能感兴趣的:(asp.net)