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>

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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

ST-GCN模型详解(+openpose)

ST-GCN模型详解&#xff08;openpose&#xff09; 一、什么是ST-GCN呢 基于骨架的动作识别&#xff08;Skeleton-Based Action Recognition&#xff09;主要任务是从一系列时间连续的骨骼关键点&#xff08;2D/3D&#xff09;中识别出正在执行的动作。因为牵涉到骨骼框架这种…

draw.io使用心得

draw.io&#xff08;现在称为 “diagrams.net”&#xff09;是一个非常受欢迎的免费在线图表和流程图工具。以下是一些关于使用draw.io的心得体会&#xff1a; 易用性 直观的界面&#xff1a;draw.io提供了一个直观且用户友好的界面&#xff0c;使得即使是初学者也能快速上手…

无线电频段划分

业余无线电&#xff0c;被无线电爱好者们亲切地称为“空中的交响乐”&#xff0c;它不仅需要你的热情和技巧&#xff0c;更需要你对不同频段的特性有深入的了解。就像一位音乐家需要熟悉每一种乐器的声音&#xff0c;每一位无线电爱好者也需要掌握每一个频段的特点。注意&#…

智慧公厕解决方案易集成好使用的智能硬件

在现代城市建设中&#xff0c;智慧公厕的需求日益增长。为了提供更好的用户体验和更高效的管理&#xff0c;易集成、好使用的智能硬件成为智慧公厕解决方案的关键组成部分。 1. 蹲位有人无人感应器&#xff1a;是用于检测厕位有人无人的设备&#xff0c;根据现场不同的安装条件…

Flask前端页面文本框展示后端变量,路由函数内外两类

一、外&#xff01;路由函数外的前后端数据传输 Flask后端 ↓ 首先导入包&#xff0c;需要使用 后端&#xff1a;flask_socketio来进行路由外的数据传输&#xff0c; from flask_socketio import SocketIO, emit 前端&#xff1a;还有HTML头文件的设置。 <!DOCTYPE …

DevOps是什么?

DevOps是一系列实践、工具和文化理念的组合&#xff0c;旨在自动化并整合软件开发和信息技术运维团队之间的流程。以下是DevOps的几个关键点&#xff1a; 沟通与协作&#xff1a;DevOps强调开发和运维团队之间的沟通与合作&#xff0c;通过改善这两个部门间的协作关系&#xff…

使用clickhouse-backup备份和恢复数据

作者&#xff1a;俊达 介绍 clickhouse-backup是altinity提供的一个clickhouse数据库备份和恢复的工具&#xff0c;开源项目地址&#xff1a;https://github.com/Altinity/clickhouse-backup 功能上能满足日常数据库备份恢复的需求&#xff1a; 支持单表/全库备份支持备份上…

电脑桌面便签软件哪个好?好用的电脑桌面便签

电脑作为我们日常工作的重要工具&#xff0c;承载着大量的任务和项目。当工作任务繁重时&#xff0c;如何在电脑桌面上高效管理这些任务就显得尤为重要。这时&#xff0c;选择一款优秀的桌面便签软件&#xff0c;无疑会给我们带来极大的便利。 一款好的桌面便签软件&#xff0…

JDK11安装教程

文章目录 1、安装2、配置环境变量 1、安装 双击安装包&#xff0c;点击下一步 更改安装目录&#xff0c;点击下一步 等待安装完成 安装完成 2、配置环境变量 此电脑右键属性 -> 高级系统设置 -> 环境变量 -> 系统变量 -> 新建 变量名&#xff1a;JAVA_HOME变量…

kubernetes学习

1、应用部署方式演变 2、kubernetes介绍 3、kubernetes组件 4、kubernetes概念 5、环境搭建-环境规划 6、环境搭建-主机安装 7、环境搭建-环境初始化 8、环境搭建-集群所需组件安装 9、环境搭建-集群安装 10、环境搭建-网络插件安装 11、环境搭建-环境测试 12、资源管理…

阿里巴巴java 开发手册1.7

《Java 开发手册》是 Java 社区爱好者的集体智慧结晶和经验总结&#xff0c;经历了多次大规模一线实战的检验及不断完善&#xff0c;整理成册后&#xff0c;众多社区开发者踊跃参与打磨完善&#xff0c;系统化地整理成册&#xff0c;当前的最新版本是黄山版。现代软件行业的高速…

Databend 开源周报第 140 期

Databend 是一款现代云数仓。专为弹性和高效设计&#xff0c;为您的大规模分析需求保驾护航。自由且开源。即刻体验云服务&#xff1a;https://app.databend.cn 。 Whats On In Databend 探索 Databend 本周新进展&#xff0c;遇到更贴近你心意的 Databend 。 支持 EXECUTE I…

RabbitMQ项目实战(二)

文章目录 项目改造实现步骤 项目改造 以前把任务提交到线程池&#xff0c;然后在线程池提交中编写处理程序的代码&#xff0c;线程池内排队。 如果程序中断了&#xff0c;任务就没了&#xff0c;就丢了。 改造后的流程&#xff1a; 把任务提交改为向队列发送消息写一个专门接…

Android开发——ListView

activity_main.xml <?xml version"1.0" encoding"utf-8"?> <LinearLayout xmlns:android"http://schemas.android.com/apk/res/android"android:layout_height"match_parent"android:layout_width"match_parent"…

SpringBoot使用maven指定依赖包的版本

目录 1. 解决示例2. 完整pom示例 前言&#xff1a;我们在使用A依赖的时候&#xff0c;这个依赖有引入了第三方B依赖&#xff0c;这时候我想指定B依赖的版本号 1. 解决示例 我想将 mysql、logback、tomcat 的版本升级到指定版本 只需在 pom.xml 文件的 properties 里面添加如下…

3D模型格式转换工具HOOPS Exchange:3D CAD数据的快速导入与导出

在当今的工程设计领域中&#xff0c;快速且可靠地处理3D CAD数据是至关重要的。HOOPS Exchange SDK通过提供一组C软件库&#xff0c;为开发团队提供了实现这一目标的有效工具。 什么是HOOPS Exchange&#xff1f; HOOPS Exchange是一组C软件库&#xff0c;旨在为开发团队提供…

已解决 数据库异常 SQLSyntaxErrorException:FUNCTION count does not exist.

今天排查问题看到数据库报错 Caused by: java.sql.SQLSyntaxErrorException: FUNCTION your_table_name(你的数据库名字).count does not exist. Check the Function Name Parsing and Resolution section in the Reference Manual然后查了很久才找到问题 在COUNT和括号之间有…

YOLOv1精读笔记

YOLO系列 摘要1. 将目标检测视为一个回归问题2. 定位准确率不如 SOTA&#xff0c;但背景错误率更低3. 泛化能力强 1.引言1.1 YOLO 速度很快1.2 全局推理 2. Unified Detection2.1 网络设计2.2 训练YOLOv1模型损失函数的选择和其潜在的问题YOLOv1模型如何改进其损失函数来更好地…

反射应用简单案例

day40 反射应用 案例 1.万能数组扩容 设置泛型的copyof仅支持引用数据类型&#xff0c;即任意类型&#xff0c;直接new数组不行&#xff0c;利用反射实现扩容&#xff1b; 打印调用toString也进行编写&#xff0c;利用StringBuffer或者StringBiulder进行字符串拼接 public c…

华为OD-C卷-伐木工[200分]Python3-100%

题目描述 一根X米长的树木,伐木工切割成不同长度的木材后进行交易,交易价格为每根木头长度的乘积。 规定切割后的每根木头长度都为正整数;也可以不切割,直接拿整根树木进行交易。 请问伐木工如何尽量少的切割,才能使收益最大化? 输入描述 木材的长度(X ≤ 50) 输出描…