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");
        }
    }
}
相关文章
一个.NET开源、轻量级的运行耗时统计库 - MethodTimer
一个.NET开源、轻量级的运行耗时统计库 - MethodTimer
212 3
|
7月前
|
API C++ Windows
Visual C++运行库、.NET Framework和DirectX运行库的作用及常见问题解决方案,涵盖MSVCP140.dll丢失、0xc000007b错误等典型故障的修复方法
本文介绍Visual C++运行库、.NET Framework和DirectX运行库的作用及常见问题解决方案,涵盖MSVCP140.dll丢失、0xc000007b错误等典型故障的修复方法,提供官方下载链接与系统修复工具使用指南。
1686 2
|
缓存 开发框架 .NET
一个功能丰富的 .NET 工具库 XiHan.Framework.Utils
XiHan.Framework.Utils 是一个功能全面的 .NET 工具库,包含字符串处理、集合扩展、加密解密、分布式 ID、文件操作、缓存、线程、国际化等模块。设计上注重高内聚、低耦合,适用于各类 .NET 应用开发。支持 AES 加密、树形结构转换、分页过滤、日志输出等功能,提供简单易用的 API。可通过 NuGet 快速安装,源码开放,采用 MIT 协议。
418 56
|
12月前
|
Go
在golang中发起http请求以获取访问域名的ip地址实例(使用net, httptrace库)
这只是追踪我们的行程的简单方法,不过希望你跟着探险家的脚步,即使是在互联网的隧道中,也可以找到你想去的地方。接下来就是你的探险之旅了,祝你好运!
621 26
|
人工智能 自然语言处理 API
适用于 .NET 稳定的官方OpenAI库
适用于 .NET 稳定的官方OpenAI库
477 0
|
传感器 人工智能 供应链
.NET开发技术在数字化时代的创新作用,从高效的开发环境、强大的性能表现、丰富的库和框架资源等方面揭示了其关键优势。
本文深入探讨了.NET开发技术在数字化时代的创新作用,从高效的开发环境、强大的性能表现、丰富的库和框架资源等方面揭示了其关键优势。通过企业级应用、Web应用及移动应用的创新案例,展示了.NET在各领域的广泛应用和巨大潜力。展望未来,.NET将与新兴技术深度融合,拓展跨平台开发,推动云原生应用发展,持续创新。
230 4
|
XML 前端开发 JavaScript
PHP与Ajax在Web开发中的交互技术。PHP作为服务器端脚本语言,处理数据和业务逻辑
本文深入探讨了PHP与Ajax在Web开发中的交互技术。PHP作为服务器端脚本语言,处理数据和业务逻辑;Ajax则通过异步请求实现页面无刷新更新。文中详细介绍了两者的工作原理、数据传输格式选择、具体实现方法及实际应用案例,如实时数据更新、表单验证与提交、动态加载内容等。同时,针对跨域问题、数据安全与性能优化提出了建议。总结指出,PHP与Ajax的结合能显著提升Web应用的效率和用户体验。
380 3
|
存储 消息中间件 NoSQL
Redis 入门 - C#.NET Core客户端库六种选择
Redis 入门 - C#.NET Core客户端库六种选择
1120 8
|
安全 Java 网络安全
Android远程连接和登录FTPS服务代码(commons.net库)
Android远程连接和登录FTPS服务代码(commons.net库)
452 1