首页 > Windows开发 > 详细

MVC链接API强类型的,添加,显示,删除,查询以及二级联动

时间:2021-08-01 22:36:38      阅读:39      评论:0      收藏:0      [点我收藏+]
  1. 三层,数据迁移和之前的一样,要注意的是三层中的数据迁移需要更改默认项目在上下文所在的那一层

  2. DAL层与AJAX不同的是我们在做分页显示的时候需要多写一个类,用做于MVC层控制器中的分页数据,在编写DAL层分页显示代码时也要实例化该类

     技术分享图片

     

     技术分享图片

     

     

    2.1 DAL添加代码

     //添加
          public int Add(YanGongInfo m)
          {
              try
              {
                  db.YanGongInfo.Add(m);
                  return db.SaveChanges();
              }
              catch (Exception)
              {
    ?
                  throw;
              }
          }

    2.2 DAL删除代码

    //删除
          public int DelOnly(int id)
          {
              try
              {
                  var list = db.YanGongInfo.FirstOrDefault(m => m.Yid == id);
                  if (list!=null)
                  {
                      db.YanGongInfo.Remove(list);
                  }
                  return db.SaveChanges();
              }
              catch (Exception)
              {
    ?
                  throw;
              }

    2.3DAL二级联动下拉框代码,与普通下拉框不同的就是需要传递一个字典字段的参数

    //下拉框
          public List<TypeInfo> GetTid(int id)
          {
              return db.TypeInfo.Where(m => m.Pid == id).ToList();
          }
  3. MVC层控制器

    3.1 强类型需要在控制器里引用以下命名空间,其中一个是需要从其他项目里引用的

    using Day0731.Model;
    using PagedList.Mvc;
    using PagedList;
    using Newtonsoft.Json;
    using System.Net.Http;
    using System.Net.Http.Formatting;

    3.2 强类型的HttpClient连接数据库的代码如下

    3.2.1分页显示

     // 分页查询
          public ActionResult Index(string sDate, string eDate, int pageindex=1, int pagesize=3)
          {
              //实例化
              HttpClient cli = new HttpClient();
              cli.BaseAddress = new Uri("http://localhost:55871/api/JiaAPI/");
              var res = cli.GetAsync($"PageShow?sDate="+sDate+"&eDate="+eDate+"&pageindex=1&pagesize=3").Result.Content.ReadAsStringAsync().Result;
              var pageData = JsonConvert.DeserializeObject<PageData<ViewModel>>(res);
              var list = new StaticPagedList<ViewModel>(pageData.Data,pagesize,pageindex,pageData.totalcount);
              return View(list);
          }

    3.2.2添加

    //添加方法
          public ActionResult AddSubmit(YanGongInfo m)
          {
              HttpClient client = new HttpClient();
              client.BaseAddress = new Uri("http://localhost:55871/api/JiaAPI/");
              var res = client.PostAsJsonAsync("Add", m).Result.Content.ReadAsStringAsync().Result;
              if (res=="1")
              {
                  return Content("<script>alert(‘添加成功‘);location.href=‘Index‘</script>");
              }
              else
              {
                  return Content("<script>alert(‘添加失败‘);location.href=‘Add‘</script>");
              }
          }
  4. AJAX二级联动

    二级联动的核心就是在选择第一层数据时通过字典字段查询第二层的数据

    <select id="Tid" name="Tid" onchange="LoadSelect($(‘#Tid‘).val(), ‘Cid‘)">
                      <option value="">请选择</option>
                  </select> --
                  <select id="Cid" name="Cid>
                      <option value="">请选择</option>
                  </select>
                   
    <script>
      //文档就绪函数
      $(function () {
          LoadSelect(0, ‘Tid‘)
      })
      //二级联动
      function LoadSelect(ip, code) {
          $.get(‘http://localhost:55871/api/JiaAPI/GetTid/‘ + ip, res => {
              $("#" + code).empty();
              $("#" + code).append(‘<option value="">请选择</option>‘)
              $(res).each(function () {
                  $("#" + code).append(‘<option value="‘ + this.Tid + ‘">‘ + this.Tname + ‘</option>‘)
              })
          })
      }
    </script>                
  5. AJAX删除

    <script>
      //删除方法
      function DelOnly(id) {
          if (confirm("确认删除吗?")) {
              $.post("http://localhost:55871/api/JiaAPI/DelOnly/" + id, res => {
                  if (res > 0) {
                      alert("删除成功");
                      location.href = ‘Index‘
                  }
              })
          }
           
      }
    </script>
  6. 视图代码

    6.1分页查询

     技术分享图片

     

     

    6.2添加

  技术分享图片

 

MVC链接API强类型的,添加,显示,删除,查询以及二级联动

原文:https://www.cnblogs.com/BaoLiAGou/p/15087510.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!