ASP.NETMVC数据库完整CRUD操作示例

举报
红目香薰 发表于 2023/05/28 23:54:27 2023/05/28
【摘要】 ASP.NETMVC数据库完整CRUD操作示例

完整的SQLServerCRUD操作步骤

目录

数据库

1、创建项目

2、添加EF

3、添加控制器

4、添加视图

5、修改与删除操作

6、添加操作



数据库


数据要求

添加测试数据

1、创建项目

依然创建的是【ASP.NETWeb】应用程序

选择MVC

创建完成

2、添加EF

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

来自数据库的EF设计器 

这里新建链接

添加数据库连接,这里测试数据库是本地数据库故而输入【.】

直接点击下一步

默认选择6.x

勾选引入实体模型,点击【完成】即可。

确认引入EF成功

需要使用的上下文对象

3、添加控制器

在【Controllers】中添加【控制器】

添加空【控制器】

输入控制器名称【Users】

使用【上下文对象】需要引入命名空间 

【UsersController.cs】控制器代码

public class UsersController : Controller
{
    // GET: Users
    public ActionResult Index()
    {
        using (UsersDBEntities db = new UsersDBEntities()) {
            ViewBag.lists = db.users.ToList();
            return View();
        }
    }
}

4、添加视图

在函数名称上点击鼠标右键添加【添加视图】

点击【添加】,这里的视图名称是默认添加的。

视图页

视图代码

<h2>用户列表</h2>
<hr/>
<table>
    <tr>
        <th>编号</th>
        <th>昵称</th>
        <th>性别</th>
        <th>年龄</th>
        <th>简介</th>
    </tr>
    @foreach (var item in ViewBag.lists)
    {
        <tr>
            <td>@item.id</td>
            <td>@item.userName</td>
            <td>@item.sex</td>
            <td>@item.age</td>
            <td>@item.introduce</td>
        </tr>
    }
</table>

Ctrl+F5执行显示效果:没有样式,但是数据出来了。

5、修改与删除操作

视图代码

<h2>用户列表</h2>
<hr/>
<table>
    <tr>
        <th>编号</th>
        <th>昵称</th>
        <th>性别</th>
        <th>年龄</th>
        <th>简介</th>
        <th>操作</th>
    </tr>
    @foreach (var item in ViewBag.lists)
    {
        <tr>
            <td>@item.id</td>
            <td>@item.userName</td>
            <td>@item.sex</td>
            <td>@item.age</td>
            <td>@item.introduce</td>
            <td>
                <a href="~/Users/UpdateById?id=@item.id">修改</a>
                <a href="~/Users/Del?id=@item.id" onclick="return confirm('是否删除此行?')">删除</a>
            </td>
        </tr>
    }
</table>

后台代码

public ActionResult UpdateById(int id) {
    return View();
}
public ActionResult Del(int id)
{
    using (UsersDBEntities db = new UsersDBEntities())
    {
        users u = db.users.Where(o => o.id == id).SingleOrDefault();
        db.users.Remove(u);
        db.SaveChanges();
        return RedirectToAction("Index");
    }
}

由于没有修改页面的视图,故而需要添加

完成具体修改SelectById代码

        public ActionResult UpdateById(int id) {
            using (UsersDBEntities db = new UsersDBEntities())
            {
                users u = db.users.Where(o => o.id == id).SingleOrDefault();
                ViewBag.user = u;
                return View();
            }
        }
        public ActionResult Del(int id)
        {
            using (UsersDBEntities db = new UsersDBEntities())
            {
                users u = db.users.Where(o => o.id == id).SingleOrDefault();
                db.users.Remove(u);
                db.SaveChanges();
                return RedirectToAction("Index");
            }
        }

添加【UpdateById】视图

修改视图代码

视图代码

<h2>修改</h2>
<hr/>
<form action="~/Users/UpdateInfo" method="post">
    <input type="text" name="id" value="@ViewBag.user.id" placeholder="请输入编号" readonly/>
    <input type="text" name="userName" value="@ViewBag.user.userName" placeholder="请输入用户名"/>
    <input type="text" name="sex" value="@ViewBag.user.sex" placeholder="请输入用户性别"/>
    <input type="text" name="age" value="@ViewBag.user.age" placeholder="请输入用户年龄"/>
    <input type="text" name="introduce" value="@ViewBag.user.introduce" placeholder="请输入用户简介"/>
    <input type="submit" value="修改"/>
</form>

添加【UpdateInfo】函数

public ActionResult UpdateInfo(users u) {
    using (UsersDBEntities db = new UsersDBEntities())
    {
        users old_u = db.users.Where(o => o.id == u.id).SingleOrDefault();
        old_u.userName = u.userName;
        old_u.sex = u.sex;
        old_u.age = u.age;
        old_u.introduce = u.introduce;
        db.SaveChanges();
        return RedirectToAction("Index");
    }
}

6、添加操作

<a href="~/Users/AddPage">添加</a>

添加【AddPage】函数以及【AddPageInfo】

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

public ActionResult AddPageInfo(string userName, string sex, int age, string introduce)
{
    using (UsersDBEntities db = new UsersDBEntities())
    {
        users u = new users();
        u.id = 0;
        u.userName = userName;
        u.sex = sex;
        u.age = age;
        u.introduce = introduce;
        db.users.Add(u);
        db.SaveChanges();
        return RedirectToAction("Index");
    }
}

添加【AddPage】的视图


添加【视图】

添加【视图】代码

<h2>AddPage</h2>
<hr />
<form action="~/Users/AddPageInfo" method="post">
    <input type="text" name="userName" placeholder="请输入用户名" />
    <input type="text" name="sex" placeholder="请输入用户性别" />
    <input type="text" name="age" placeholder="请输入用户年龄" />
    <input type="text" name="introduce" placeholder="请输入用户简介" />
    <input type="submit" value="添加" />
</form>

完整功能示例

添加视图


添加成功

修改操作

修改成功

删除功能

删除成功


CRUD展示完毕。

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

评论(0

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

全部回复

上滑加载中

设置昵称

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

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

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