c#-MVC基础操作-数据的展示及增删改

一、数据展示

1、View代码:

<%@ Page Language="C#" Inherits="System.Web.Mvc.ViewPage<dynamic>" %>

<%@ Import Namespace="MvcApplication1.Models" %>

<!DOCTYPE html>

<html>
<head runat="server">
    <meta name="viewport" content="width=device-width" />
    <title>Main</title>
</head>
<body>

    <table style="width: 100%; text-align: center;" cellspacing="0" cellpadding="0" border="1">
        <tr style="background-color:navy;color:white;">
            <td>序号</td>
            <td>用户名</td>
            <td>密码</td>
            <td>昵称</td>
            <td>性别</td>
            <td>生日</td>
            <td>民族</td>
            <td>班级</td>
        </tr>

        <%
            List<Users> ulist = new UsersData().Select();
            foreach (Users u in ulist)
            {
        %>
        <tr>
            <td><%=u.ids %></td>
            <td><%=u.username %></td>
            <td><%=u.password %></td>
            <td><%=u.nickname %></td>
            <td><%=u.sex %></td>
            <td><%=u.birthday %></td>
            <td><%=u.nation %></td>
            <td><%[email protected] %></td>
        </tr>
        <%} %>
    </table>

</body>
</html>

View视图展示页面

2、页面展示

3、属性扩展 性别、生日、民族、班级

代码:

<%@ Page Language="C#" Inherits="System.Web.Mvc.ViewPage<dynamic>" %>

<%@ Import Namespace="MvcApplication1.Models" %>

<!DOCTYPE html>

<html>
<head runat="server">
    <meta name="viewport" content="width=device-width" />
    <title>Main</title>
</head>
<body>

    <table style="width: 100%; text-align: center;" cellspacing="0" cellpadding="0" border="1">
        <tr style="background-color:navy;color:white;">
            <td>序号</td>
            <td>用户名</td>
            <td>密码</td>
            <td>昵称</td>
            <td>性别</td>
            <td>生日</td>
            <td>民族</td>
            <td>班级</td>
        </tr>

        <%
            List<Users> ulist = new UsersData().Select();
            foreach (Users u in ulist)
            {
        %>
        <tr>
            <td><%=u.ids %></td>
            <td><%=u.username %></td>
            <td><%=u.password %></td>
            <td><%=u.nickname %></td>
            <td><%=Convert.ToBoolean(u.sex)?"男":"女" %></td>
            <td><%=Convert.ToDateTime(u.birthday).ToString("yyyy年MM月dd日") %></td>
            <td><%=u.Nation1.nationname %></td>
            <td><%=u.Class1.classname %></td>
        </tr>
        <%} %>
    </table>

</body>
</html>

View视图展示页面

页面展示:

二、添加数据

1、设置<添加>按钮

代码:

<a href="/Home/Insert">添加</a>

2、Home控制器下Insert动作代码:

<%@ Page Language="C#" Inherits="System.Web.Mvc.ViewPage<dynamic>" %>

<!DOCTYPE html>

<html>
<head runat="server">
    <meta name="viewport" content="width=device-width" />
    <title>Insert</title>
</head>
<body>
    <h1>添加新用户</h1>
    <span>用户名:</span><input type="text" /><br />
    <span>密码:</span><input type="text" /><br />
    <span>确认密码:</span><input type="text" /><br />
    <span>昵称:</span><input type="text" /><br />
    <span>性别:</span><input type="text" /><br />
    <span>生日:</span><input type="text" /><br />
    <span>民族:</span><input type="text" /><br />
    <span>班级:</span><input type="text" /><br />
    <input type="submit" value="添加" />
</body>
</html>

Home控制器下Insert动作的代码

页面展示:

3、<添加>按钮代码 提交按钮所在的form表单

action:提交到的服务端

<%@ Page Language="C#" Inherits="System.Web.Mvc.ViewPage<dynamic>" %>

<!DOCTYPE html>

<html>
<head runat="server">
    <meta name="viewport" content="width=device-width" />
    <title>Insert</title>
</head>
<body>
    <form action="/Hoome/Insert1" method="post">
        <h1>添加新用户</h1>
        <span>用户名:</span><input type="text" name="username" /><br />
        <span>密码:</span><input type="text" name="password" /><br />
        <span>确认密码:</span><input type="text" name="password1" /><br />
        <span>昵称:</span><input type="text" name="nickname" /><br />
        <span>性别:</span><input type="text" name="sex" /><br />
        <span>生日:</span><input type="text" name="birthday" /><br />
        <span>民族:</span><input type="text" name="nation" /><br />
        <span>班级:</span><input type="text" name="class" /><br />
        <input type="submit" value="添加" />
    </form>
</body>
</html>

form表单提交数据

控制器下动作代码:

//向数据库添加数据并跳转页面
        public ActionResult Insert1(string username, string password, string nickname, string sex, string birthday, string nation, string @class)
        {
            Users u = new Users();
            u.username = username;
            u.password = password;
            u.nickname = nickname;
            u.sex = Convert.ToBoolean(sex);
            u.birthday = Convert.ToDateTime(birthday);
            u.nation = nation;
            [email protected] = @class;

            using (Data0928DataContext con = new Data0928DataContext())
            {
                con.Users.InsertOnSubmit(u);
                con.SubmitChanges();
            }

            return RedirectToAction("Main", "Home");
        }

接收form提交的数据,向数据库添加数据,并重新定向

三、删除数据(地址栏传值)

1、添加“删除”操作列

<tr>
            <td><%=u.ids %></td>
            <td><%=u.username %></td>
            <td><%=u.password %></td>
            <td><%=u.nickname %></td>
            <td><%=Convert.ToBoolean(u.sex)?"男":"女" %></td>
            <td><%=Convert.ToDateTime(u.birthday).ToString("yyyy年MM月dd日") %></td>
            <td><%=u.Nation1.nationname %></td>
            <td><%=u.Class1.classname %></td>
            <td><a href="/Home/Delete?Duname=<%=u.username %>">删除</a></td>
        </tr>

添加“删除”操作列

2、控制器动作代码

//删除数据并重新定向
        public ActionResult Delete()
        {
            string UName = Request["Duname"];

            using (Data0928DataContext con = new Data0928DataContext())
            {
                Users u = con.Users.Where(r => r.username == UName).FirstOrDefault();
                if (u != null)
                {
                    con.Users.DeleteOnSubmit(u);
                    con.SubmitChanges();
                }
            }

            return RedirectToAction("Main", "Home");
        }

删除数据并重新定向

3、弹出提示框

<td><a href="/Home/Delete?Duname=<%=u.username %>" onclick="return confirm(‘确定要删除吗?‘)">删除</a></td>

四、修改数据(路由传值+ViewBag传值)

1、路由传值 - 从view界面传一个值到控制器下的动作中,值为string类型

<a href="/Home/Update/<%=u.username %>">修改</a>

2、ViewBag传值 - 从动作将数据传递到View层中进行绑定,值为任意类型

//查询到数据,用ViewBag带到界面进行绑定
        public ActionResult Update(string id)
        {
            Users u=null;
            using (Data0928DataContext con = new Data0928DataContext())
            {
                u = con.Users.Where(r => r.username == id).FirstOrDefault();
            }
            ViewBag.UUser = u;
            return View();
        }

ViewBag传值

3、View层绑定数据 记得引用命名空间

<body>
    <%
        Users u = ViewBag.UUser as Users;
    %>

    <form action="/Home/Update1" method="post">
        <h1>添加新用户</h1>
        <span>用户名:</span><input type="text" name="username" readonly="readonly" value="<%=u.username %>" /><br />
        <span>密码:</span><input type="text" name="password" value="<%=u.password %>" /><br />
        <span>昵称:</span><input type="text" name="nickname" value="<%=u.nickname %>" /><br />
        <span>性别:</span><input type="text" name="sex" value="<%=u.sex %>" /><br />
        <span>生日:</span><input type="text" name="birthday" value="<%=u.birthday %>" /><br />
        <span>民族:</span><input type="text" name="nation" value="<%=u.nation %>" /><br />
        <span>班级:</span><input type="text" name="class" value="<%[email protected] %>" /><br />
        <input type="submit" value="确认修改" />
    </form>
</body>

view层ViewBag绑定数据

4、<确认修改>按钮代码

//form表单提交数据,自动组对象,需要name属性值与字段名完全一致
        public ActionResult Update1(Users u)
        {
            Users uu = u;
            using (Data0928DataContext con = new Data0928DataContext())
            {
                Users uuu = con.Users.Where(r=>r.username==u.username).FirstOrDefault();
                uuu.password = uu.password;
                uuu.nickname = uu.nickname;
                uuu.sex = uu.sex;
                uuu.birthday = uu.birthday;
                uuu.nation = uu.nation;
                [email protected] = [email protected];

                con.SubmitChanges();
            }

            return RedirectToAction("Main","Home");
        }

form提交数据,自动组对象后重新定向

时间: 2024-08-28 23:47:50

c#-MVC基础操作-数据的展示及增删改的相关文章

MYSQL基础操作之单表的增删改查

一.添加数据. -- 1.创建表,并插入一定的数据. 1 CREATE TABLE STUDENT( 2 ID INT, 3 USERNAME VARCHAR(20), 4 SERVLET INT, 5 JSP INT, 6 ADDRESS VARCHAR(30) 7 ); 8 INSERT INTO STUDENT VALUES (1,'张三',23,84,'京口区'); 9 INSERT INTO STUDENT VALUES (2,'李四',36,74,'润州区'); 10 INSERT

【Android基础篇】SQLite数据库的增删改查基本操作

一.概述 SQLite是Android系统的核心数据存储服务之一,它是一个轻型的嵌入式数据库,占用非常少的资源却能提供很好很快的数据存取服务,许多大型的需要数据存储的Android项目都有用到SQLite(也可以用于桌面应用程序). 下面介绍一下SQLite的创建数据库.表的操作,以及基本的增删改查操作. 二.基本操作API简介 在Android中,SQLiteDatabase类提供了SQLite的底层API,但在使用SQLite数据库时,我们往往不会直接操作SQLiteDatabase这个类,

通过存储过程操作临时表实现对表的增删改

A为表名 A_TR为临时表(操作完自动删除里面数据),下面是存储过程代码: create or replace procedure A_UPDATE(p_id in varchar2) as user_err exception; -- user exception user_err_code varchar2(200); -- contents of user error err_sqlcode   varchar2(100); -- err code proc_name     varcha

Linq基础+Lambda表达式对数据库的增删改及简单查询

一.Linq to sql 类 高集成化的数据库访问技术 使用Linq可以代替之前的Ado.Net,省去了自己敲代码的实体类和数据访问类的大量工作 实体类: 添加一个Linq to sql 类 ----选择要使用的数据库---- 拖入要使用的表  需要立即保存 就相当于创建实体类 如果进行属性扩展,在App_Code下添加类,类名同表名一致.将该类在访问修饰符后加上partial,将该类定为实体类的一部分 数据访问类: 不用在App_Code下再建数据访问类了. 直接在使用数据访问类的地方用数据

iOS操作属性列表plist(增删改查)

摘要: iOS的存储方式之一--属性列表plist,还是经常见到的,可以很方便的用来管理一些有序的批量数据,特别是用来显示固定的内容到表单上时,不需要在代码中反复地繁琐编写数组,而可以在plist属性列表中进行可视化操作,极为便捷,本文讲解如何创建和使用plist列表,并显示在表单上. 达到下面的效果: 创建plist属性列表文件: 首先我们新建一个Single View的工程,这样就有可以直接使用的storyboard和ViewController文件,然后创建一个属性列表文件. 在Xcode

ABP学习入门系列(五)(展示实现增删改查)

大致要实现的 效果如下 1,添加Controller(用到的X.PagedList 注意到nuget添加) using System.Web.Mvc; using Abp.Application.Services.Dto; using Abp.Runtime.Caching; using Abp.Threading; using Abp.Web.Mvc.Authorization; using AutoMapper; using LearningMpaAbp.Notifications; usi

mysql操作数据库进行封装实现增删改查功能

SqlTool.class.php <?php class SqlTool{ private $conn; private $host = "localhost"; private $user = "root"; private $password = "root"; private $db = "test1"; /* 连接数据库的构造方法 */ function SqlTool(){ $this->conn =

java操作elasticsearch实现基本的增删改查操作

一.在进行java操作elasticsearch之前,请确认好集群的名称及对应的ES节点ip和端口 1.查看ES的集群名称 #进入elasticsearch.yml配置文件/opt/elasticsearch-6.4.3/config vim elasticsearch.yml 2.查询ip 二.根据文档id查询数据 /** * */ package com.cyb.test; import java.net.InetAddress; import java.net.UnknownHostExc

MFC中对基于ODBC对数据ACCESS数据库的增删改查。

在MFC中可以使用很多方法对数据库进行操作. 什么ODBC  什么ADO之类的,这里要介绍使用的ODBC这种方法,通过本文的阅读可以达初步掌握在MFC里面通过ODBC访问ACCESS数据库. 涉及到的软件: 系统Win7 64位, 开发环境是VS2010,Office2007 . ××××××××××××××××××××××××××××××××××××××××××××××××××× ODBC是什么东东...? ODBC全称:Open Database Connectivity,开放数据库互连.