ASP.NET WEB+EntityFramework数据持久化——考核练习库——1、用户管理系统(考点:查询列表、增加、删除)

简介: ASP.NET WEB+EntityFramework数据持久化——考核练习库——1、用户管理系统(考点:查询列表、增加、删除)

ASP.NET WEB+EntityFramework数据持久化——考核练习库——1、


前言

考试,是每个学生都要应对的事情,面对考试我们一定要有充分的准备才能以很高的分数通过考试,祝大家都能拿到一个比较高的分数。但是如何拿呢,我这里给大家准备了10套练习题,练习完毕肯定顺利通过,我保证。因为无论怎么考都逃不出这个圈子。

考试环境

系统环境:win7及以上,本示例环境win11

开发工具:Visual Studio 2012及以上

创建项目:

       控制台请创建【控制台应用(.NET Framework)】

       Web请创建【ASP.NET Web应用程序(.NET Framework)】

数据库:SQLServer数据库2012及以上版本·如果下载最新版本,使用免费版本即可。

       本地数据库链接:【.】或【127.0.0.1】

       登陆方式1:【本地登陆】

       登陆方式2:账号【sa】 pwd【admin】

       测试数据库名称:【mytest】

       排序规则:【Chinese_PRC_CI_AS】


一、题目部分

目标示例

1、数据库需求

名称 类型 介绍 约束
id int 编号 主键、自增
userName varchar(50) 用户名 非空
sex varchar(50) 性别 非空
age int 年龄 非空
introduce varchar(200) 简介 非空

2、项目需求

完成【用户管理系统】的遍历用户列表、增加用户、删除用户功能

遍历用户列表:

添加用户:

删除用户:

删除后效果:

3、提交标准

编号 内容
1 项目压缩文件(包含完整的项目)
2 数据量【分离文件】或数据库【SQL脚本】

4、评分标准

编号 得分点 分数
1 创建数据库、表与测试数据 10分
2 正确创建项目ASP.NETWEB窗体 5分
3 正确引入EF库 10分
4 创建Index.aspx窗体 5分
5 添加GridView或Repeater控件 10分
6 正确使用EF上下文对象查询数据并绑定到GridView或Repeater控件 15分
7 正确创建添加页面【AddPage.aspx】 5分
8 完成主页添加跳转以及添加页面【前后端】代码以及功能实现 20分
9 在GridView或Repeater控件中添加删除按钮并完成对应行的删除功能,删除提示5分 10分
10 编码规范,有注释和异常处理等 10分
备注: 如未按照要求提交,则依然不计算分数。

二、完整示例过程以及代码

项目创建

基础项目层次

引入EF

1、项目中鼠标右键添加类

2、添加【ADO.NET】实体数据模型

这里选择【数据】,添加【ADO.NET】实体数据模型

3、从数据库导入

如果是2012版本的话只有2个选项,选择默认的第一个从数据库导入即可。

4、新建SQLServer数据库链接

5、添加【Microsoft SQL Server】数据源

6、数据库链接属性确认链接到具体数据库

7、确认数据库链接字符串

8、确认实体框架版本6.x

9、选择引入表

10、添加文件信任

11、引入完成

12、使用对象

首页Index.aspx

在项目中添加【Web窗体】

窗体名称为【Index】

前台

<table border="1" style="width:100%;">
    <tr>
        <th>编号</th>
        <th>昵称</th>
        <th>性别</th>
        <th>年龄</th>
        <th>简介</th>
    </tr>
    <asp:Repeater runat="server" ID="showTable">
        <ItemTemplate>
            <tr>
                <td><%# Eval("id") %></td>
                <td><%# Eval("userName") %></td>
                <td><%# Eval("sex") %></td>
                <td><%# Eval("age") %></td>
                <td><%# Eval("introduce") %></td>
            </tr>
        </ItemTemplate>
    </asp:Repeater>
</table>

后台

using (mytestEntities db = new mytestEntities()) {
                this.showTable.DataSource = db.users.ToList();
                this.showTable.DataBind();
            }

当前显示效果:

添加页面

前台代码

首页代码

<a href="AddPage.aspx">添加</a>

AddPage.aspx页面代码

<p>
    <asp:TextBox runat="server" ID="userName" placeholder="请输入用户名"></asp:TextBox>
</p>
<p>
    <asp:TextBox runat="server" ID="sex" placeholder="请输入用户性别"></asp:TextBox>
</p>
<p>
    <asp:TextBox runat="server" ID="age" placeholder="请输入用户年龄"></asp:TextBox>
</p>
<p>
    <asp:TextBox runat="server" ID="introduce" placeholder="请输入用户简介"></asp:TextBox>
</p>
<p>
    <asp:Button runat="server" Text="添加" OnClick="Unnamed_Click"/>
</p>

前台效果:

 

后台代码

protected void Unnamed_Click(object sender, EventArgs e)
{
    using (mytestEntities db = new mytestEntities())
    {
        users u = new users();
        u.id = 0;
        u.userName = this.userName.Text;
        u.sex = this.sex.Text;
        u.age = int.Parse(this.age.Text);
        u.introduce = this.introduce.Text;
        db.users.Add(u);
        db.SaveChanges();
        Response.Redirect("index.aspx");
    }
}

添加效果:

删除功能

前台

添加了【OnItemCommand="showTable_ItemCommand"】函数以及【删除按钮】。

<a href="AddPage.aspx">添加</a>
<table border="1" style="width:100%;">
    <tr>
        <th>编号</th>
        <th>昵称</th>
        <th>性别</th>
        <th>年龄</th>
        <th>简介</th>
        <th>操作</th>
    </tr>
    <asp:Repeater runat="server" ID="showTable" OnItemCommand="showTable_ItemCommand">
        <ItemTemplate>
            <tr>
                <td><%# Eval("id") %></td>
                <td><%# Eval("userName") %></td>
                <td><%# Eval("sex") %></td>
                <td><%# Eval("age") %></td>
                <td><%# Eval("introduce") %></td>
                <td>
                    <asp:LinkButton runat="server"
                        CommandName="Del"
                        CommandArgument='<%# Eval("id") %>'
                        OnClientClick="return confirm('确认要删除此行信息吗?')"
                        >删除</asp:LinkButton>
                </td>
            </tr>
        </ItemTemplate>
    </asp:Repeater>
</table>

后台

protected void showTable_ItemCommand(object source, RepeaterCommandEventArgs e)
{
    if (e.CommandName.Equals("Del"))
    {
        using (mytestEntities db = new mytestEntities())
        {
            int id = int.Parse(e.CommandArgument.ToString());
            users u = db.users.Where(o => o.id == id).SingleOrDefault();
            //删除对应id的用户信息
            db.users.Remove(u);
            db.SaveChanges();
            Response.Redirect("index.aspx");
        }
    }
}
相关文章
|
21天前
|
XML JSON API
ServiceStack:不仅仅是一个高性能Web API和微服务框架,更是一站式解决方案——深入解析其多协议支持及简便开发流程,带您体验前所未有的.NET开发效率革命
【10月更文挑战第9天】ServiceStack 是一个高性能的 Web API 和微服务框架,支持 JSON、XML、CSV 等多种数据格式。它简化了 .NET 应用的开发流程,提供了直观的 RESTful 服务构建方式。ServiceStack 支持高并发请求和复杂业务逻辑,安装简单,通过 NuGet 包管理器即可快速集成。示例代码展示了如何创建一个返回当前日期的简单服务,包括定义请求和响应 DTO、实现服务逻辑、配置路由和宿主。ServiceStack 还支持 WebSocket、SignalR 等实时通信协议,具备自动验证、自动过滤器等丰富功能,适合快速搭建高性能、可扩展的服务端应用。
81 3
|
13天前
|
安全 Java 网络安全
Android远程连接和登录FTPS服务代码(commons.net库)
Android远程连接和登录FTPS服务代码(commons.net库)
15 1
|
22天前
|
网络协议 Unix Linux
一个.NET开源、快速、低延迟的异步套接字服务器和客户端库
一个.NET开源、快速、低延迟的异步套接字服务器和客户端库
|
27天前
|
存储 消息中间件 NoSQL
Redis 入门 - C#.NET Core客户端库六种选择
Redis 入门 - C#.NET Core客户端库六种选择
51 8
|
27天前
|
存储 开发框架 .NET
.NET 8 实现无实体库表 API 部署服务
【10月更文挑战第12天】在.NET 8中,可通过以下步骤实现无实体库表的API部署:首先安装.NET 8 SDK及开发工具,并选用轻量级Web API框架如ASP.NET Core;接着创建新项目并设计API,利用内存数据结构模拟数据存储;最后配置项目设置并进行测试与部署。此方法适用于小型项目或临时解决方案,但对于大规模应用仍需考虑持久化存储以确保数据可靠性与可扩展性。
|
15天前
|
开发者 Windows
.NET 开源扁平化、美观的 C/S 控件库
【10月更文挑战第23天】介绍了三款适用于 .NET 平台的开源扁平化、美观的 C/S 控件库:MaterialSkin 采用 Google Material Design 风格,适合现代感界面;Krypton Toolkit 提供丰富控件,界面易于定制;Fluent Ribbon Control Suite 模仿 Office 界面,适合复杂功能应用。每款控件库均附有示例代码及 GitHub 链接。
|
2月前
|
移动开发 JavaScript 数据可视化
|
3月前
|
开发者 UED
Axure“Web高端交互元件库”:产品与设计的得力助手
这套“Web高端交互元件库”精心构建了四大板块内容,分别是登陆首页集合、Web框架集合、表单元件集合以及主流后台组件。每一板块都包含了大量实用且美观的交互元件,设计师与开发者可以根据具体项目需求,快速找到并应用这些元件,从而大大提升工作效率。
|
3月前
|
XML 开发框架 .NET
ASP.NET Web Api 如何使用 Swagger 管理 API
ASP.NET Web Api 如何使用 Swagger 管理 API
101 1
|
3月前
|
开发框架 .NET 数据库连接
闲话 Asp.Net Core 数据校验(三)EF Core 集成 FluentValidation 校验数据例子
闲话 Asp.Net Core 数据校验(三)EF Core 集成 FluentValidation 校验数据例子