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个月内不可修改。