ASP.NET MVC企业级程序设计 (商品管理:小计,总计,删除,排序)

目录

效果图

实现过程 

1创建数据库

 2创建项目文件

 3创建控制器,右键添加,控制器

​编辑 注意这里要写Home​编辑

 创建成功

数据模型创建过程之前作品有具体过程​编辑

4创建DAL

5创建BLL 

6创建视图,右键添加视图

​编辑 7HomeController.cs代码

8Index.cshtml代码


效果图

实现过程 

1创建数据库

create database GoodsDB
CREATE TABLE Goods(
	[GoodsID] [int] IDENTITY(1,1) NOT NULL,
	[GoodsName] [nvarchar](50) NOT NULL,
	[GoodsPrice] [decimal](10, 2) NOT NULL,
	[GoodsStock] [int] NOT NULL)
	INSERT  Goods( [GoodsName], [GoodsPrice], [GoodsStock]) VALUES ( N'魔幻陀螺', CAST(19.00 AS Decimal(10, 2)), 20)
INSERT Goods( [GoodsName], [GoodsPrice], [GoodsStock]) VALUES ( N'开花精灵惊喜盲盒', CAST(89.00 AS Decimal(10, 2)), 10)
INSERT Goods ( [GoodsName], [GoodsPrice], [GoodsStock]) VALUES ( N'跳跃战士玩具2变形汽车', CAST(18.00 AS Decimal(10, 2)), 50)
INSERT Goods( [GoodsName], [GoodsPrice], [GoodsStock]) VALUES ( N'正版灵动奥特曼软胶囊玩具', CAST(25.00 AS Decimal(10, 2)), 20)
INSERT Goods ( [GoodsName], [GoodsPrice], [GoodsStock]) VALUES ( N'帮帮龙变形车套装', CAST(109.00 AS Decimal(10, 2)), 5)

 

 2创建项目文件

 

 

 3创建控制器,右键添加,控制器

 注意这里要写Home
 创建成功
数据模型创建过程之前作品有具体过程

4创建DAL

using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using MvcApplication1.Models;
namespace MvcApplication1.DAL
{
    public class GoodsService
    {   
        //展示
        public static List<Goods> Show() {
            GoodsDBEntities db = new GoodsDBEntities();
            return db.Goods.ToList();
        }
        //计算小计
        public static string Sun() {
            GoodsDBEntities db = new GoodsDBEntities();
            return db.Goods.Sum(m => m.GoodsPrice * m.GoodsStock).ToString();
        }
        //找到需要删除的一条数据,后面被调用
        public static Goods GetID(string goodid) {
            GoodsDBEntities db = new GoodsDBEntities();
            int temp = Convert.ToInt32(goodid);
            return db.Goods.SingleOrDefault(m => m.GoodsID == temp);
        }
        //调用查找数据的方法进行删除
        public static bool Delect(string goodid) {
         Goods good=   GetID(goodid);
         if (good==null)
         {
             return false;
         }
         else
         {
             GoodsDBEntities db = new GoodsDBEntities();
             db.Entry(good).State = System.Data.EntityState.Deleted;
             db.Goods.Remove(good);
             return db.SaveChanges() > 0;
         }
        }
        //排序方法
        public static List<Goods> getGoodlist(bool priceOrder) {
            GoodsDBEntities db = new GoodsDBEntities();
            if (priceOrder==true)
            {
                return db.Goods.OrderByDescending(m => m.GoodsPrice).ToList();
            }
            else
            {
                return db.Goods.OrderBy(m => m.GoodsPrice).ToList();
            }
        
        
        }
    }
}

5创建BLL 

using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using MvcApplication1.Models;
namespace MvcApplication1.BLL
{
    public class GoodsManger
    {
        public static List<Goods> Show()
        {
            GoodsDBEntities db = new GoodsDBEntities();
            return db.Goods.ToList();
        }
        public static string Sun()
        {

            return DAL.GoodsService.Sun();
        }
        public static bool Delect(string goodid) {
            return DAL.GoodsService.Delect(goodid);
        
        }
        public static List<Goods> getGoodlist(bool priceOrder) {
            return DAL.GoodsService.getGoodlist(priceOrder);
        }
    }
}

6创建视图,右键添加视图

 7HomeController.cs代码

using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.Mvc;
using MvcApplication1.Models;
namespace MvcApplication1.Controllers
{
    public class HomeController : Controller
    {
        //
        // GET: /Home/

        public ActionResult Index(bool PriceOrderDese=false)
        {
        ViewData["goods"] = BLL.GoodsManger.Show();
       ViewData["sum"] = BLL.GoodsManger.Sun();

       ViewData["goods"] = BLL.GoodsManger.getGoodlist(PriceOrderDese);
       ViewBag.PriceOrderDese = !PriceOrderDese;

       return View();
        }
        public ActionResult DeleteGood(string goodId) {
            BLL.GoodsManger.Delect(goodId);

            return RedirectToAction("Index");
        }

    }
}

8Index.cshtml代码

@{
    Layout = null;
}

<!DOCTYPE html>

<html>
<head>
    <meta name="viewport" content="width=device-width" />
    <title>Index</title>
</head>
<body>
    <div>
        <table border="1">
            <tr>
                <th>ID</th>
                 <th>商品名</th>
                    <th>@Html.ActionLink("价格排序", "Index", new {PriceOrderDese=@ViewBag.PriceOrderDese})</th>
                 <th>库存</th>
                 <th>小计</th>
                 <th>操作</th>
            </tr>
            @{
                foreach (var good in ViewData["goods"] as List<MvcApplication1.Models.Goods>)
                {
                     <tr>
                <td>@good.GoodsID</td>
                 <td>@good.GoodsName</td>
                 <td>@good.GoodsPrice</td>
                 <td>@good.GoodsStock</td>
                 <td>@(@good.GoodsPrice*@good.GoodsStock)</td>
                 <td>@Html.ActionLink("删除","DeleteGood", new{goodId=good.GoodsID})</td>
            </tr>
                }
                
                
                
                }
            <tr>
                <td  colspan="6">总计:@ViewData["sum"]</td>
                
            </tr>


        </table>
    </div>
</body>
</html>

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/557239.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

【问题处理】银河麒麟操作系统实例分享,adb读写缓慢问题分析

1.问题环境 处理器&#xff1a; HUAWEI Kunpeng 920 5251K 内存&#xff1a; 512 GiB 整机类型/架构&#xff1a; TaiShan 200K (Model 2280K) BIOS版本&#xff1a; Byosoft Corp. 1.81.K 内核版本 4.19.90-23.15.v2101.ky10.aarch64 第三方应用 数据库 2.问题…

Spring Security详细学习第一篇

Spring Security 前言Spring Security入门编辑Spring Security底层原理UserDetailsService接口PasswordEncoder接口 认证登录校验密码加密存储退出登录 前言 本文是作者学习三更老师的Spring Security课程所记录的学习心得和笔记知识&#xff0c;希望能帮助到大家 Spring Sec…

buuctf——[ZJCTF 2019]NiZhuanSiWei

buuctf——[ZJCTF 2019]NiZhuanSiWei 1.绕过file_get_contents()函数 file_get_contents函数介绍 定义和用法 file_get_contents() 把整个文件读入一个字符串中。 该函数是用于把文件的内容读入到一个字符串中的首选方法。如果服务器操作系统支持&#xff0c;还会使用内存映射…

python实现将数据标准化到指定区间[a,b]+正向标准化+负向标准化

目录 一、公式介绍 (一)正向标准化公式 (二)负向标准化公式如下 (三)[a,b]取[0,1]的特例 二、构建数据集 三、自定义标准化函数 四、正向标准化 五、负向标准化 六、合并数据 一、公式介绍 将一列数据X标准化到指定区间[a,b] (一)正向标准化公式 nor_X(b-a)*(X-X_…

VUE-列表

VUE-列表 列表功能 如下例子 列表展示 <!DOCTYPE html> <html lang"en"><head><meta charset"UTF-8"><meta name"viewport" content"widthdevice-width, initial-scale1.0"><meta http-equiv&qu…

网络分析工具

为了实现业务目标&#xff0c;每天都要在网络上执行大量操作&#xff0c;网络管理员很难了解网络中实际发生的情况、谁消耗的带宽最多&#xff0c;并分析是否正在发生任何可能导致带宽拥塞的活动。对于大型企业和分布式网络来说&#xff0c;这些挑战是多方面的&#xff0c;为了…

AI边缘计算盒子+ThingSense管理平台,推动明厨亮灶智慧监管新篇章

背景随着“互联网”时代的浪潮汹涌而至&#xff0c;国家及各地政府纷纷在“十四五”规划中明确指出&#xff0c;强化食品安全管理&#xff0c;利用技术手段实现智慧监管是刻不容缓的任务。为此&#xff0c;各地正加速推进“互联网明厨亮灶”的建设步伐&#xff0c;实现系统对接…

C# 报输入字符串格式不正确的原因

先放错误代码 23 class Voicewater 24 { 25 public void voicealarm(int tem) 26 { 27 Console.WriteLine("现在的温度是{}度了",tem); 28 } 29 } 解决方法…

14 Php学习:表单

表单 PHP 表单是用于收集用户输入的工具&#xff0c;通常用于网站开发。PHP 可以与 HTML 表单一起使用&#xff0c;用于处理用户提交的数据。通过 PHP 表单&#xff0c;您可以创建各种类型的表单&#xff0c;包括文本输入框、复选框、下拉菜单等&#xff0c;以便用户可以填写和…

Create an SAP Fiori App Using SAP Business Application Studio/连接时服务不可用

Create an SAP Fiori App Using SAP Business Application Studio 如果连接时遇到服务不可用 我们需要配置BTP上的连接。 参考文档 更改之后需要刷新 studio界面&#xff0c;重新选择就可以正常工作了

Linux 基于 UDP 协议的简单服务器-客户端应用

目录 一、socket编程接口 1、socket 常见API socket()&#xff1a;创建套接字 bind()&#xff1a;将用户设置的ip和port在内核中和我们的当前进程关联 listen() accept() 2、sockaddr结构 3、inet系列函数 二、UDP网络程序—发送消息 1、服务器udp_server.hpp initS…

【随笔】Git 高级篇 -- 远程服务器拒绝 git push reset(三十二)

&#x1f48c; 所属专栏&#xff1a;【Git】 &#x1f600; 作  者&#xff1a;我是夜阑的狗&#x1f436; &#x1f680; 个人简介&#xff1a;一个正在努力学技术的CV工程师&#xff0c;专注基础和实战分享 &#xff0c;欢迎咨询&#xff01; &#x1f496; 欢迎大…

vue中使用水印

1. 在utils下创建watermark.js const watermark {}/**** param {要设置的水印的内容} str* param {需要设置水印的容器} container* param {需要设置水印的每一块的宽度} canWidth* param {需要设置水印的每一块的高度} canHeight* param {需要设置水印的字体} canFont* para…

【IDEA】JRebel LS client not configured

主要原因就是因为 jrebel 的版本跟 idea的版本对不上&#xff0c;或者说jrebel的版本比idea的版本还高&#xff0c;导致出现该错误 查看idea版本 ![在这里插入图片描述](https://img-blog.csdnimg.cn/direct/a7ba43e6822947318cdb0d0e9d8d65e9.png 获取jrebel 版本 如何处理 …

“好”玩游戏让我本能痴迷游戏编程

源地址&#xff1a;https://www.ctvol.com/c-cdevelopment/5842.html 我的游戏生涯是从最开始的热血传奇开始的&#xff0c;那时候&#xff0c;我们年少轻狂&#xff0c;不知道多少80后的青春都洒在了这个游戏上面&#xff0c;那时候&#xff0c;热血传奇的热度比现在的英雄联…

【C++20】学习笔记:在事件驱动使用携程

2021年文章:比物理线程都好用的C++20的协程,在事件驱动代码中的应用解析 大神给出了可以用的例子:例子代码执行 源码 //https://bbs.huaweicloud.com/blogs/266537 #include <iostream> #include <vector>//这只是一个极简的模型示例,真实的代码要远比它复杂得…

在PostgreSQL中如何处理跨表的级联删除和更新?

文章目录 解决方案1. 使用外键约束和级联操作创建外键约束并指定级联删除创建外键约束并指定级联更新 2. 使用触发器&#xff08;Triggers&#xff09;创建触发器实现级联删除 示例代码示例1&#xff1a;使用外键约束和级联删除示例2&#xff1a;使用触发器实现级联删除 在Post…

Python根据公募基金在一定时期内持有的股票数据进行社会网络分析

【背景】根据提供的公募基金在一定时期内持有的股票数据&#xff0c;构建一个社会网络分析框架&#xff0c;度量每个基金在每年的度中心度、介数中心度和特征向量中心度&#xff0c;并对相关数据做出简要说明。 【代码】 import networkx as nx import pandas as pd import n…

Rust 语言 GUI 用户界面框架汇总(持续更新)

拜登&#xff1a;“一切非 Rust 项目均为非法”&#x1f60e; 什么是 GUI 图形用户界面&#xff08;Graphical User Interface&#xff0c;简称 GUI&#xff0c;又称图形用户接口&#xff09;是指采用图形方式显示的计算机操作用户界面。 现在的应用开发&#xff0c;是既要功…

机器人路径规划:基于Q-learning算法的移动机器人路径规划,可以自定义地图,修改起始点,提供MATLAB代码

一、Q-learning算法 Q-learning算法是强化学习算法中的一种&#xff0c;该算法主要包含&#xff1a;Agent、状态、动作、环境、回报和惩罚。Q-learning算法通过机器人与环境不断地交换信息&#xff0c;来实现自我学习。Q-learning算法中的Q表是机器人与环境交互后的结果&#…