查询
/Controller/HomeController.cs

         /// <summary>
         /// 查询 文章 列表
          /// </summary>
         /// <returns></returns>
        public ActionResult Index()
        {
            //1.查询数据库里的 文章数据(通过EF执行)
            //1.1.第一种方式:SQO(标准查询运算符)
            //实际返回的是一个 IQueryable 对象?此处返回的是一个IQueryable接口
            //System.Data.Entity.Infrastructure.DbQuery : IQueryable<TResult>
            //DbQuery<Models.BlogArticle> query = db.BlogArticles.Where(d => d.AIsDel == false) as DbQuery<Models.BlogArticle>;
            //直接将返回的DbQuery转换成List<T>集合,也就是立即查询数据库,并返回查询的集合
            //List<Models.BlogArticle> list = db.BlogArticles.Where(d => d.AIsDel == false).ToList();
            //=============================================================================================
            //1.2.第二种方法:LINQ
            List<Models.BlogArticle> list = (from d in db.BlogArticles
                                                   where d.AIsDel == false
                                             select d).ToList() ;

            //2.将集合数据传给视图
            //ViewBag.DataList = list;
            ViewData["DataList"] = list;

            //3.加载视图
            return View();
        }

/Views/Home/Index.cshtml

@using MVCBlog.Models@{    Layout = null;}

<!DOCTYPE html>

<html><head>    <meta name="viewport" content="width=device-width" />    <title>Index</title>    <style>        .TList {            border: 1px solid #0094ff;            border-collapse: collapse;            width: 600px;        }        .TList tr td {            border:1px solid #0094ff;            padding: 10px;        }    </style></head><body>    <div>        <table class="TList">            <tr>                <th>id</th>                <th>标题</th>                <th>分类</th>                <th>状态</th>                <th>时间</th>                <th>操作</th>            </tr>            <!--遍历 设置给ViewData 的集合数据,生成html代码-->            @foreach (BlogArticle a in ViewData["DataList"] as List<MVCBlog.Models.BlogArticle>)            {                <tr>                    <td>@a.AId</td>                    <td>@a.ATitle</td>                    <td>@a.ACate</td>                    <td>@a.AStatu</td>                    <td>@a.AAddtime</td>                    <td>                        <a href="/home/del/@a.AId">删除</a>                        <a href="/home/modify/@a.AId">修改</a>                    </td>                </tr>            }        </table>    </div></body></html>

 

MVC公开课 &ndash; 2.查询,删除 (2013-3-15广州传智MVC公开课)-LMLPHP

 

 

删除

<script type="text/javascript">    function del(id) {        if (confirm("真的要删除吗?")) {            window.location = "/home/del/" + id;        }    }</script>

<a href="javascript:del(@a.AId)">删除</a>

public ActionResult Del(int id){    try    {        //1.创建要删除的对象        BlogArticle modelDel = new BlogArticle() { AId = id };        //2.将对象 添加到 EF 管理容器        db.BlogArticles.Attach(modelDel);        //3.将对象包装类的 状态 标识为 删除状态        db.BlogArticles.Remove(modelDel);        //4.更新到数据库        db.SaveChanges();        //5.更新成功,则命令浏览器 重定向 到 /Home/List 方法        return RedirectToAction("Index", "Home");    }    catch (Exception ex)    {        return Content(ex.Message);    }}

05-04 04:23