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

举报
红目香薰 发表于 2022/10/28 00:14:38 2022/10/28
【摘要】 ​ ​编辑.Net MVC订单后台管理系统源码编码过程目录.Net MVC订单后台管理系统源码编码过程语言和环境实现功能功能1、显示数据功能2、订单状态的颜色变化与操作中对应的超链接文字按钮功能3、添加功能数据库设计编码完整示例: 数据库SQL手动添加dataEF引入数据库创建控制器初始化函数——Index初始化视图——Index.cshtml创建视图——AddOrderPage添加视图编码...

 编辑

.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

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

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


@{
    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

public ActionResult AddOrderPage() {
    return View();
}

编辑

添加视图编码——AddOrderPage


@{
    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

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

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");
    }
}

运行效果

编辑

按钮提示

<a href="~/Order/UpdateById?id=@item.OrderID" onclick="return confirm('是否修改此行?')">发货</a>

编辑


【版权声明】本文为华为云社区用户原创内容,转载时必须标注文章的来源(华为云社区)、文章链接、文章作者等基本信息, 否则作者和本社区有权追究责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。