ASP.NET MVC增删改查带图片路径读取

简介: ASP.NET MVC增删改查带图片路径读取

 


功能

主要完成单表的增加、修改、删除、查询、模糊查询的功能,以及根据图片名称显示对应的图片操作。

image.png



添加·需要非空处理

添加的时候需要进行非空处理,保证数据的安全性、一致性、稳定性。


image.png


删除·需要有确认按钮

为了保证数据安全,需要在删除的时候进行确认操作。

image.png


数据库

数据库这里自行处理即可,毕竟只是完成功能的一个示例,方便查询功能写法才是主要的。


这里表的自增主键别忘记添加。


image.png


CREATE TABLE [dbo].[users] (
[id] int NOT NULL IDENTITY(1,1) ,
[userName] varchar(50) COLLATE Chinese_PRC_CI_AS NOT NULL ,
[age] int NOT NULL ,
[phono] varchar(200) COLLATE Chinese_PRC_CI_AS NOT NULL ,
CONSTRAINT [PK__users__3213E83F715C1E25] PRIMARY KEY ([id])
)
ON [PRIMARY]
GO

控制器·MyTestController

控制器都用的HTTPGET请求,方便处理。少发生异常,保证稳定分数。


using mytestDemo.Models;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.Mvc;
namespace mytestDemo.Controllers
{
    public class MyTestController : Controller
    {
        // GET: MyTest
        public ActionResult Index(string selectKey)
        {
            using (mytestEntities db = new mytestEntities())
            {
                //当查询内容是空代表初始加载,查询全部即可。
                if (String.IsNullOrEmpty(selectKey))
                {
                    ViewBag.list = db.users.ToList();
                }
                else {
                    //如果查询内容不为空,则使用模糊查询进行数据筛选
                    ViewBag.list = db.users.Where(o => o.userName.Contains(selectKey)).ToList();
                }
                return View();
            }
        }
        /// <summary>
        /// 添加页面
        /// </summary>
        /// <returns></returns>
        public ActionResult AddInfoPage() {
            return View();
        }
        /// <summary>
        /// 添加函数
        /// </summary>
        /// <param name="users"></param>
        /// <returns></returns>
        public ActionResult AddInfo(users users) {
            using (mytestEntities db = new mytestEntities()) {
                db.users.Add(users);
                db.SaveChanges();
                return Redirect("~/MyTest/Index");
            }
        }
        /// <summary>
        /// 修改
        /// </summary>
        /// <param name="id"></param>
        /// <returns></returns>
        public ActionResult UpdateById(int id) {
            using (mytestEntities db = new mytestEntities())
            {
                users u=db.users.Where(o => o.id == id).SingleOrDefault();
                u.phono = u.phono=="green.jpg"?"yellow.jpg": (u.phono == "yellow.jpg")?"red.jpg":"green.jpg";
                db.SaveChanges();
                return Redirect("~/MyTest/Index");
            }
        }
        /// <summary>
        /// 删除
        /// </summary>
        /// <param name="id"></param>
        /// <returns></returns>
        public ActionResult DeleteById(int id)
        {
            using (mytestEntities db = new mytestEntities())
            {
                users u = db.users.Where(o => o.id == id).SingleOrDefault();
                db.users.Remove(u);
                db.SaveChanges();
                return Redirect("~/MyTest/Index");
            }
        }
    }
}


视图层·Index.cshtml

视图中的操作就是显示查询结果,进行增删改操作。


@{
    ViewBag.Title = "Index";
}
<h2>显示页面</h2>
<hr/>
<form action="~/MyTest/Index" method="get">
    <input type="text" name="selectKey" placeholder="请输入搜索内容"/>
    <input type="submit" value="查询" class="btn btn-primary"/>
</form>
<hr/>
<a href="~/MyTest/AddInfoPage">添加</a>
<table class="table table-hover table-bordered">
    <tr>
        <th>编号</th>
        <th>姓名</th>
        <th>年龄</th>
        <th>状态码</th>
        <th>操作</th>
    </tr>
    @foreach (var item in ViewBag.list)
    {
        <tr>
            <td>@item.id</td>
            <td>@item.userName</td>
            <td>@item.age</td>
            <td><img src="~/imgs/@item.phono" style="width:25px;"/></td>
            <td>
                <a href="~/MyTest/UpdateById?id=@item.id" class="btn btn-primary">修改</a>
                <a href="~/MyTest/DeleteById?id=@item.id" onclick="return confirm('是否删除此行?')" class="btn btn-primary">删除</a>
            </td>
        </tr>
    }
</table>

视图层·AddInfoPage.cshtml

添加的视图里面要注意,依然使用的是get请求。加上requested的非空验证。


@{
    ViewBag.Title = "AddInfoPage";
}
<h2>添加页面</h2>
<form action="~/MyTest/AddInfo" method="get">
    <input type="text" name="userName" placeholder="请输入用户名" class="form-control" required/>
    <input type="number" name="age" placeholder="请输入年龄" class="form-control" required/>
    <select name="phono" class="form-control" required>
        <option value="green.jpg">green.jpg</option>
        <option value="yellow.jpg">yellow.jpg</option>
        <option value="red.jpg">red.jpg</option>
    </select>
    <input type="submit" value="添加信息" class="btn btn-block btn-primary"/>
</form>
相关文章
|
2月前
|
开发框架 前端开发 JavaScript
ASP.NET MVC 教程
ASP.NET 是一个使用 HTML、CSS、JavaScript 和服务器脚本创建网页和网站的开发框架。
43 7
|
2月前
|
存储 开发框架 前端开发
ASP.NET MVC 迅速集成 SignalR
ASP.NET MVC 迅速集成 SignalR
61 0
|
3月前
|
开发框架 前端开发 .NET
ASP.NET MVC WebApi 接口返回 JOSN 日期格式化 date format
ASP.NET MVC WebApi 接口返回 JOSN 日期格式化 date format
49 0
|
3月前
|
开发框架 前端开发 安全
ASP.NET MVC 如何使用 Form Authentication?
ASP.NET MVC 如何使用 Form Authentication?
|
3月前
|
开发框架 .NET
Asp.Net Core 使用X.PagedList.Mvc.Core分页 & 搜索
Asp.Net Core 使用X.PagedList.Mvc.Core分页 & 搜索
128 0
|
5月前
|
前端开发 Java Maven
如何在Spring MVC中实现图片的上传和下载功能
如何在Spring MVC中实现图片的上传和下载功能
|
6月前
|
开发框架 前端开发 JavaScript
JavaScript云LIS系统源码ASP.NET CORE 3.1 MVC + SQLserver + Redis医院实验室信息系统源码 医院云LIS系统源码
实验室信息系统(Laboratory Information System,缩写LIS)是一类用来处理实验室过程信息的软件,云LIS系统围绕临床,云LIS系统将与云HIS系统建立起高度的业务整合,以体现“以病人为中心”的设计理念,优化就诊流程,方便患者就医。
81 0
|
6月前
|
开发框架 前端开发 .NET
进入ASP .net mvc的世界
进入ASP .net mvc的世界
|
6月前
|
开发框架 前端开发 .NET
ASP.NET CORE 3.1 MVC“指定的网络名不再可用\企图在不存在的网络连接上进行操作”的问题解决过程
ASP.NET CORE 3.1 MVC“指定的网络名不再可用\企图在不存在的网络连接上进行操作”的问题解决过程
194 0
|
存储 开发框架 前端开发
[回馈]ASP.NET Core MVC开发实战之商城系统(五)
经过一段时间的准备,新的一期【ASP.NET Core MVC开发实战之商城系统】已经开始,在之前的文章中,讲解了商城系统的整体功能设计,页面布局设计,环境搭建,系统配置,及首页【商品类型,banner条,友情链接,降价促销,新品爆款】,商品列表页面,商品详情等功能的开发,今天继续讲解购物车功能开发,仅供学习分享使用,如有不足之处,还请指正。
168 0
下一篇
无影云桌面