前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >.Net MVC订单后台管理系统源码编码过程

.Net MVC订单后台管理系统源码编码过程

作者头像
红目香薰
发布2022-11-30 19:23:04
1.1K0
发布2022-11-30 19:23:04
举报
文章被收录于专栏:CSDNToQQCodeCSDNToQQCode

.Net MVC订单后台管理系统源码编码过程


目录

.Net MVC订单后台管理系统源码编码过程

语言和环境

实现功能

功能1、显示数据

功能2、订单状态的颜色变化与操作中对应的超链接文字按钮

功能3、添加功能

数据库设计

编码完整示例: 

数据库SQL

手动添加data

EF引入数据库

创建控制器

初始化函数——Index

初始化视图——Index.cshtml

创建视图——AddOrderPage

添加视图编码——AddOrderPage

创建函数

AddOrder

UpdateById

运行效果

按钮提示


语言和环境

1. 实现语言:C#语言。 2. 环境要求:Visual Studio 2012+SQL Server 2012 或以上版本。 3. 实现技术:ASP.NET MVC+EF(100 分)或 ASP.NET+三层+EF(90 分)。

实现功能

功能1、显示数据

功能2、订单状态的颜色变化与操作中对应的超链接文字按钮

功能3、添加功能

两个字段都不能为空。

数据库设计

1. 创建订单项目数据库(OrdersDB)。

2. 创建订单信息表(OrderInfo),信息表结构见表 1。

编码完整示例: 

数据库SQL

代码语言:javascript
复制
CREATE TABLE [dbo].[OrderInfo] (
[OrderID] int NOT NULL IDENTITY(1,1) ,
[UserName] nvarchar(20) COLLATE Chinese_PRC_CI_AS NOT NULL ,
[OrderDate] date NOT NULL ,
[OrderState] int NOT NULL ,
CONSTRAINT [PK__OrderInf__C3905BAFEF891235] PRIMARY KEY ([OrderID]),
CONSTRAINT [orderStateChick] CHECK (([OrderState]=(0) OR [OrderState]=(1)))
)
ON [PRIMARY]
GO

DBCC CHECKIDENT(N'[dbo].[OrderInfo]', RESEED, 1)
GO

SET IDENTITY_INSERT [dbo].[OrderInfo] ON
INSERT INTO [dbo].[OrderInfo] ([OrderID], [UserName], [OrderDate], [OrderState]) VALUES (N'1', N'王语嫣', N'2022-10-01', N'1');
GO
INSERT INTO [dbo].[OrderInfo] ([OrderID], [UserName], [OrderDate], [OrderState]) VALUES (N'2', N'刘亦菲', N'2022-09-30', N'0');
GO
INSERT INTO [dbo].[OrderInfo] ([OrderID], [UserName], [OrderDate], [OrderState]) VALUES (N'3', N'小龙女', N'2022-10-20', N'1');
GO
INSERT INTO [dbo].[OrderInfo] ([OrderID], [UserName], [OrderDate], [OrderState]) VALUES (N'6', N'龙姑娘', N'2022-10-06', N'0');
GO
INSERT INTO [dbo].[OrderInfo] ([OrderID], [UserName], [OrderDate], [OrderState]) VALUES (N'7', N'赵灵儿', N'2022-10-21', N'0');
GO
SET IDENTITY_INSERT [dbo].[OrderInfo] OFF
GO

手动添加data

EF引入数据库

这里的名称写【Order】就行

引入的时间可能很长,多等一会。完毕后会多出两个包,以及对应的模型文件。

创建控制器

初始化函数——Index

代码语言:javascript
复制
public ActionResult Index()
{
    using (OrdersDBEntities db = new OrdersDBEntities())
    {
        List<OrderInfo> list = db.OrderInfo.OrderBy(o => o.OrderState).ToList();
        ViewBag.list = list;
        return View();
    }
}

初始化视图——Index.cshtml

代码语言:javascript
复制
@{
    ViewBag.Title = "Index";
}

<h2 align="center">简易订单管理系统</h2>
<hr />
<a href="~/Order/AddOrderPage">添加订单</a>
<table class="table table-bordered table-hover">
    <tr>
        <th>订单编号</th>
        <th>下单人</th>
        <th>订单日期</th>
        <th>订单状态</th>
        <th>操作</th>
    </tr>
    @foreach (var item in ViewBag.list)
    {
        <tr>
            <td>@item.OrderID</td>
            <td>@item.UserName</td>
            <td>@item.OrderDate</td>
            @if (item.OrderState == 0)
            {
                <td style="background-color:red">未发货</td>
            }
            else
            {
                <td>已发货</td>
            }
            <td>
                @if (item.OrderState == 0)
                {
                    <a href="~/Order/UpdateById?id=@item.OrderID">发货</a>
                }
            </td>
        </tr>
    }
</table>

创建视图——AddOrderPage

代码语言:javascript
复制
public ActionResult AddOrderPage() {
    return View();
}

添加视图编码——AddOrderPage

代码语言:javascript
复制
@{
    ViewBag.Title = "AddOrderPage";
}

<h2>添加订单</h2>
<hr/>
<form action="~/Order/AddOrder">
    <p>
        下单人:<input type="text" name="UserName" required/>
    </p>
    <p>
        订单日期<input type="date" name="OrderDate" required/>
    </p>
    <p>
        <input type="submit" value="提交"/>
    </p>
</form>

创建函数

AddOrder

代码语言:javascript
复制
public ActionResult AddOrder(string UserName, DateTime OrderDate)
{
    using (OrdersDBEntities db = new OrdersDBEntities())
    {
        OrderInfo info = new OrderInfo();
        info.OrderID = 0;
        info.UserName = UserName;
        info.OrderDate = OrderDate;
        info.OrderState = 0;
        db.OrderInfo.Add(info);
        //一定要保存
        db.SaveChanges();
        return Redirect("~/Order/Index");
    }
}

UpdateById

代码语言:javascript
复制
public ActionResult UpdateById(int id) {
    using (OrdersDBEntities db = new OrdersDBEntities())
    {
        OrderInfo orderInfo = db.OrderInfo.Where(o => o.OrderID == id).FirstOrDefault();
        orderInfo.OrderState = 1;
        //保存
        db.SaveChanges();
        return Redirect("~/Order/Index");
    }
}

运行效果

按钮提示

代码语言:javascript
复制
<a href="~/Order/UpdateById?id=@item.OrderID" onclick="return confirm('是否修改此行?')">发货</a>
本文参与 腾讯云自媒体分享计划,分享自作者个人站点/博客。
原始发表:2022-10-04,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • .Net MVC订单后台管理系统源码编码过程
  • 语言和环境
  • 实现功能
    • 功能1、显示数据
      • 功能2、订单状态的颜色变化与操作中对应的超链接文字按钮
        • 功能3、添加功能
        • 数据库设计
        • 编码完整示例: 
        • 数据库SQL
        • 手动添加data
        • EF引入数据库
        • 创建控制器
        • 初始化函数——Index
        • 初始化视图——Index.cshtml
        • 创建视图——AddOrderPage
        • 添加视图编码——AddOrderPage
        • 创建函数
          • AddOrder
            • UpdateById
            • 运行效果
            • 按钮提示
            相关产品与服务
            数据库
            云数据库为企业提供了完善的关系型数据库、非关系型数据库、分析型数据库和数据库生态工具。您可以通过产品选择和组合搭建,轻松实现高可靠、高可用性、高性能等数据库需求。云数据库服务也可大幅减少您的运维工作量,更专注于业务发展,让企业一站式享受数据上云及分布式架构的技术红利!
            领券
            问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档