• 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中没有自带的,下次给出不用已经实现的代码的方式,正在不断的总结中。。。。。。。。。

        

  • 相关阅读:
    git 管理
    SVN 管理
    为什么要做静态库
    Sqlite3
    CocoaPod
    内存管理
    readline的用法
    join合并字符串时使用生成器表达式
    pandas DataFrame数据转为list
    Jenkins自动化CI CD流水线之4--Master-Slave架构
  • 原文地址:https://www.cnblogs.com/gyouxu/p/2720649.html
Copyright © 2020-2023  润新知