关于c#购物车的地址的增删改查(mvc,详细注释)

2020-12-24 20:26

阅读:534

标签:cli   ring   models   let   sel   order   b16   main   增删改查   

就是简简单单的增删改查,也没什么特殊的或者特别难的业务逻辑,二级联动用一张表的自连接做的,注释都加在代码中了,不多说了,代码如下:

1.首先是我们的实体类数据模型层(model)

地址详情表:

技术图片技术图片
using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;

namespace G5.Exam03.Day12.Models
{
    public class ShAddress
    {
        public int AId { get; set; }
        public string AName { get; set; }
        public string Area { get; set; }
        public string Dzhi { get; set; }
        public string hanSet { get; set; }
    }
}
ShAddress

二级联动用的区域表:

技术图片技术图片
using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;

namespace G5.Exam03.Day12.Models
{
    public class Qy
    {
        public int Id { get; set; }
        public string Name { get; set; }
        public int QId { get; set; }
    }
}
Qy

2.ado调用:

地址的dal层:

技术图片技术图片
using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using G5.Exam03.Day12.Models;
namespace G5.Exam03.Day12.Dal
{
    public class AddressDal
    {
        DBHelper db = new DBHelper();
        //地址显示
        public List GetList()
        {
            string sql = "select * from ShAddress";
            return db.GetToList(sql);
        }
        //删除功能
        public int Del(int id)
        {
            string sql = $"delete from ShAddress where AId={id}";
            return db.ExecuteNonQuery(sql);
        }
        //添加的sql语句及方法
        public int Upt(ShAddress model)
        {
            string sql = $"Update ShAddress set AName=‘{model.AName}‘,Area=‘{model.Area}‘,Dzhi=‘{model.Dzhi}‘,hanSet=‘{model.hanSet}‘ where AId={model.AId}";
            return db.ExecuteNonQuery(sql);
        }
    }
}
AddressDal

省市及添加,反填的dal层:

这两个ado调用层其实可以写在一块的,具体看您要实现的功能及要求:

技术图片技术图片
using G5.Exam03.Day12.Models;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;

namespace G5.Exam03.Day12.Dal
{
    public class AddDal
    {
        DBHelper db = new DBHelper();
        //省市下拉
        public List GetSsList(int qid)
        {
            string sql = $"select * from Qy where QId={qid}";
            return db.GetToList(sql);
        }
        //添加的sql语句及方法
        public int Add(ShAddress model)
        {
            string sql = $"insert into ShAddress values (‘{model.AName}‘,‘{model.Area}‘,‘{model.Dzhi}‘,‘{model.hanSet}‘)";
            return db.ExecuteNonQuery(sql);
        }
        //根据id查询数据进行反填
        public List GetListId(int id)
        {
            string sql = $"select * from ShAddress where AId={id}";
            return db.GetToList(sql);
        }
    }
}
AddDal

3.控制器(视图)如下(这里其实创建一个控制器就好,具体看要求):

技术图片技术图片
using G5.Exam03.Day12.Dal;
using G5.Exam03.Day12.Models;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Net;
using System.Web;
using System.Web.Mvc;

namespace G5.Exam03.Day12.Controllers
{
    public class AddressController : Controller
    {
        AddressDal dal = new AddressDal();
        // GET: Address
        public ActionResult Index()
        {
            return View();
        }
        public int Del(int id)
        {
            return dal.Del(id);
        }
        [HttpGet]
        public JsonResult GetList()
        {
            return Json(dal.GetList(),JsonRequestBehavior.AllowGet);
        }

        public ActionResult Upt(int id)
        {
            ViewBag.id = id;
            return View();
        }
        [HttpPost]
        public int Upt(ShAddress model)
        {
            return dal.Upt(model);
        }
        //根据id获取地址信息->反填
        [HttpPost]
        public JsonResult GetId(int id)
        {
            AddDal add = new AddDal();
            return Json(add.GetListId(id), JsonRequestBehavior.AllowGet);
        }

    }
}
AddressController
技术图片技术图片
using G5.Exam03.Day12.Dal;
using G5.Exam03.Day12.Models;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.Mvc;

namespace G5.Exam03.Day12.Controllers
{
    public class AddController : Controller
    {
        AddDal add = new AddDal();
        // GET: Add
        //为添加视图提供方法
        public ActionResult Add()
        {
            return View();
        }
        //从后台获取到我们要的数据源
        [HttpPost]//
        public int Add(ShAddress model)
        {
            return add.Add(model);
        }

        //为省市提供数据源
        [HttpGet]
        public JsonResult GetSs(int qid)
        {
            return Json(add.GetSsList(qid), JsonRequestBehavior.AllowGet);
        }
        //为区县提供数据源
        [HttpGet]
        public JsonResult GetQx(int qid)
        {
            return Json(add.GetSsList(qid), JsonRequestBehavior.AllowGet);
        }
    }
}
AddController

4.视图层:(view)

地址显示视图:

技术图片技术图片
@{
    ViewBag.Title = "Index";
}

Index

"button" onclick="Add()" name="name" value="新增收获地址" />
"divMain">
; //在div最后面添加要拼接上去的内容 $("#divMain").append(str); }) } }) } //删除功能实现 function Del(id) { //弹框提示是否要删除 if (confirm(确认删除吗?)) { $.ajax({ url: "/Address/Del",//地址 dataType: "json",//返回到后台的数据格式 data: { id: id },//要向数据库后台发送的数据,前面是你的控制器名称,后面是你发送的值定义好的名称(我这里发送值的名称与控制器名称是一样的) type: "post",//获取到数据的方式 post是发送命令到数据库中,get是从数据库获取到数据 success: function (d) {//成功就继续执行后面的代码 if (d > 0) { alert("删除成功!"); //调用显示函数进行刷新页面 Show(); } else { alert("删除失败!"); } } }) } else { return false;//选择否,返回false; } } //编辑按钮要跳转到编辑页面 function Edit(id) { location.href = /Address/Upt?id= + id; } //添加 function Add() { location.href = /Add/Add; }
Index.cshtml

地址修改视图:

技术图片技术图片
@{
    ViewBag.Title = "Upt";
}
    

Upt

class="table table-bordered">
收货人: "hidden" id="aid"/> "aName" type="text" name="name" />
所在地区: 省市:select id="Ss" onfocus="BandQ(this.value)">select> 区:select id="q">select>
地址: "Dzhi" type="text" name="name" />
手机: "hanSet" type="text" name="name" />
"2">"button" onclick="Xg()" name="name" value="修改" />
Upt.cshtml

地址添加视图:

技术图片技术图片
@{
    ViewBag.Title = "Add";
}

Add

class="table table-bordered">
收货人: "aName" type="text" name="name" value="" />
所在地区: 省市:select id="Ss" onfocus="BandQ(this.value)">select> 区:select id="q">select>
地址: "Dzhi" type="text" name="name" value="" />
手机: "hanSet" type="text" name="name" value="" />
"2">"button" onclick="Tj()" name="name" value="添加到地址" />
Add.cshtml

5.还望大佬们多多提一些修改意见,我会努力慢慢去改正的.

关于c#购物车的地址的增删改查(mvc,详细注释)

标签:cli   ring   models   let   sel   order   b16   main   增删改查   

原文地址:https://www.cnblogs.com/bwxw/p/13420281.html


评论


亲,登录后才可以留言!