ASP.NET WEB项目中GridView与Repeater数据绑定控件的用法

简介: ASP.NET WEB项目中GridView与Repeater数据绑定控件的用法

ASP.NET WEB项目中GridView与Repeater数据绑定控件的用法


前言

ASP.NET WEB是一门非常简单的课程内容,我们大概用三章的内容来包含所有的知识点,三章分为

1、ASP.NET WEB项目创建与文件上传操作

2、ASP.NET WEB项目中Cookie与Session的用法

3、ASP.NET WEB项目中GridView与Repeater数据绑定控件的用法

分为三章,基本上将具体的用法讲解完毕,配套的【Repeater】的基础项目视频包含【数据库CRUD操作】让你快速上手,解决你考试的后顾之忧。

环境

系统环境:【win11】

开发工具:【Visual Studio 2017】

数据库:【SQLServer 2019】


测试数据(单表)

直接单表测试也方便,毕竟我们只看功能。

测试数据脚本:

DROP TABLE [dbo].[users]
GO
CREATE TABLE [dbo].[users] (
[id] int NOT NULL IDENTITY(1,1) ,
[userName] varchar(20) NOT NULL ,
[sex] bit NOT NULL ,
[age] int NOT NULL ,
[introduce] varchar(200) NOT NULL 
)
GO
DBCC CHECKIDENT(N'[dbo].[users]', RESEED, 3)
GO
-- ----------------------------
-- Records of users
-- ----------------------------
SET IDENTITY_INSERT [dbo].[users] ON
GO
INSERT INTO [dbo].[users] ([id], [userName], [sex], [age], [introduce]) VALUES (N'1', N'王语嫣', N'0', N'16', N'琅嬛福地,神仙姐姐。');
GO
INSERT INTO [dbo].[users] ([id], [userName], [sex], [age], [introduce]) VALUES (N'2', N'小龙女', N'0', N'18', N'终南山下,活死人墓。冰山美人,绝世江湖。');
GO
INSERT INTO [dbo].[users] ([id], [userName], [sex], [age], [introduce]) VALUES (N'3', N'赵灵儿', N'0', N'15', N'灵蛇岛等待逍遥哥哥的小姑娘。');
GO
SET IDENTITY_INSERT [dbo].[users] OFF
GO
-- ----------------------------
-- Indexes structure for table users
-- ----------------------------
-- ----------------------------
-- Primary Key structure for table [dbo].[users]
-- ----------------------------
ALTER TABLE [dbo].[users] ADD PRIMARY KEY ([id])
GO

DBHelper

1、需要换包名,也就是【namespace Demo_1】

2、需要换成自己的数据库地址以及用户名与pwd

using System;
using System.Collections.Generic;
using System.Data;
using System.Data.SqlClient;
using System.Linq;
using System.Web;
namespace Demo_1
{
    public class DBHelper
    {
        private static string url = "Data Source=.;Initial Catalog=mytest;Integrated Security=True";
        //账密方式
        //private static string url = "server=.;database=girl1804;uid=sa;pwd=root";
        /// <summary>
        /// 获取查询信息
        /// </summary>
        /// <param name="sql"></param>
        /// <returns></returns>
        public static DataTable Query(string sql)
        {
            SqlConnection conn = new SqlConnection(url);
            SqlDataAdapter sdap = new SqlDataAdapter(sql, conn);
            DataSet ds = new DataSet();
            sdap.Fill(ds);
            return ds.Tables[0];
        }
        /// <summary>
        /// 修改
        /// </summary>
        /// <param name="sql"></param>
        /// <returns></returns>
        public static int ExecuteNonQuery(string sql)
        {
            SqlConnection conn = new SqlConnection(url);
            conn.Open();
            SqlCommand cmd = new SqlCommand(sql, conn);
            int rows = cmd.ExecuteNonQuery();
            conn.Close();
            return rows;
        }
        /// <summary>
        /// 存储过程·一般用不到,大型项目严禁使用
        /// </summary>
        /// <param name="proName"></param>
        /// <param name="paras"></param>
        /// <returns></returns>
        public static bool ExcuteProcedure(string proName, SqlParameter[] paras)
        {
            SqlConnection conn = new SqlConnection(url);
            conn.Open();
            SqlCommand cmd = new SqlCommand(proName, conn);
            cmd.CommandType = CommandType.StoredProcedure;
            for (int i = 0; i < paras.Length; i++)
            {
                cmd.Parameters.Add(paras[i]);
            }
            int rows = cmd.ExecuteNonQuery();
            conn.Close();
            return rows > 0;
        }
    }
}

GridView用法

创建GridView测试窗体

前台

<asp:GridView runat="server" ID="gridView" AutoGenerateColumns="false">
     <Columns>
        <asp:BoundField DataField="id" HeaderText="编号"/>
        <asp:BoundField DataField="userName" HeaderText="昵称"/>
        <asp:BoundField DataField="sex" HeaderText="性别"/>
        <asp:BoundField DataField="age" HeaderText="年龄"/>
        <asp:BoundField DataField="introduce" HeaderText="简介"/>
    </Columns>
</asp:GridView>

后台

protected void Page_Load(object sender, EventArgs e)
{
    if (!IsPostBack) {
        string sql = "select * from users";
        this.gridView.DataSource = DBHelper.Query(sql);
        this.gridView.DataBind();
    }
}

输出效果:

Repeater用法

创建【Repeater】测试窗体

前台

<link href="Content/bootstrap.css" rel="stylesheet" />
<table class="table table-bordered table-hover">
    <tr>
        <th>编号</th>
        <th>昵称</th>
        <th>性别</th>
        <th>年龄</th>
        <th>简介</th>
    </tr>
    <asp:Repeater runat="server" ID="repeater">
        <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>

后台

protected void Page_Load(object sender, EventArgs e)
{
    if (!IsPostBack)
    {
        string sql = "select * from users";
        this.repeater.DataSource = DBHelper.Query(sql);
        this.repeater.DataBind();
    }
}

输出效果:

总结

ASP.NET Web的知识点不是很多,我们后面会有ASP.NET MVC的课程会进行更多ASP.NET WEB端的实际讲解。其实最期待的还是.NET Core微服务,现在已经是.NET6.0了,做项目真的挺方便的呢。但是对于程序员要求相对要高一些。

我留了一篇练习的文章,包含整个的增删改查,希望能帮助到大家,链接再下方:

ASP.NET Web——GridView完整增删改查示例(全篇幅包含sql脚本)大二结业考试必备技能

相关文章
|
开发框架 前端开发 JavaScript
ASP.NET Web Pages - 教程
ASP.NET Web Pages 是一种用于创建动态网页的开发模式,采用HTML、CSS、JavaScript 和服务器脚本。本教程聚焦于Web Pages,介绍如何使用Razor语法结合服务器端代码与前端技术,以及利用WebMatrix工具进行开发。适合初学者入门ASP.NET。
|
10月前
|
中间件 Go
Golang | Gin:net/http与Gin启动web服务的简单比较
总的来说,`net/http`和 `Gin`都是优秀的库,它们各有优缺点。你应该根据你的需求和经验来选择最适合你的工具。希望这个比较可以帮助你做出决策。
505 35
|
XML JSON API
ServiceStack:不仅仅是一个高性能Web API和微服务框架,更是一站式解决方案——深入解析其多协议支持及简便开发流程,带您体验前所未有的.NET开发效率革命
【10月更文挑战第9天】ServiceStack 是一个高性能的 Web API 和微服务框架,支持 JSON、XML、CSV 等多种数据格式。它简化了 .NET 应用的开发流程,提供了直观的 RESTful 服务构建方式。ServiceStack 支持高并发请求和复杂业务逻辑,安装简单,通过 NuGet 包管理器即可快速集成。示例代码展示了如何创建一个返回当前日期的简单服务,包括定义请求和响应 DTO、实现服务逻辑、配置路由和宿主。ServiceStack 还支持 WebSocket、SignalR 等实时通信协议,具备自动验证、自动过滤器等丰富功能,适合快速搭建高性能、可扩展的服务端应用。
849 3
|
编解码 前端开发 JavaScript
.NET_web前端框架_layui_栅格布局
【8月更文挑战第27天】
269 4
|
开发框架 JavaScript 前端开发
震撼!破解 ASP.NET 服务器控件 Button 执行顺序之谜,颠覆你的开发认知!
【8月更文挑战第16天】在ASP.NET开发中,通过Button控件实现先执行JavaScript再触后台处理的需求十分常见。例如,在用户点击按钮前需前端验证或提示,确保操作无误后再传递数据至后台深度处理。此过程可通过设置Button的`OnClientClick`属性调用自定义JavaScript函数完成验证;若验证通过,则继续触发后台事件。此外,结合jQuery也能达到相同效果,利用`__doPostBack`手动触发服务器端事件。这种方式增强了应用的交互性和用户体验。
221 8
|
运维 前端开发 C#
一套以用户体验出发的.NET8 Web开源框架
一套以用户体验出发的.NET8 Web开源框架
361 7
一套以用户体验出发的.NET8 Web开源框架
|
开发框架 数据可视化 .NET
.NET 中管理 Web API 文档的两种方式
.NET 中管理 Web API 文档的两种方式
248 14
|
开发框架 .NET PHP
ASP.NET Web Pages - 添加 Razor 代码
ASP.NET Web Pages 使用 Razor 标记添加服务器端代码,支持 C# 和 Visual Basic。Razor 语法简洁易学,类似于 ASP 和 PHP。例如,在网页中加入 `@DateTime.Now` 可以实时显示当前时间。
|
开发框架 前端开发 .NET
VB.NET中如何利用ASP.NET进行Web开发
在VB.NET中利用ASP.NET进行Web开发是一个常见的做法,特别是在需要构建动态、交互式Web应用程序时。ASP.NET是一个由微软开发的开源Web应用程序框架,它允许开发者使用多种编程语言(包括VB.NET)来创建Web应用程序。
365 6
|
开发框架 监控 前端开发
在 ASP.NET Core Web API 中使用操作筛选器统一处理通用操作
【9月更文挑战第27天】操作筛选器是ASP.NET Core MVC和Web API中的一种过滤器,可在操作方法执行前后运行代码,适用于日志记录、性能监控和验证等场景。通过实现`IActionFilter`接口的`OnActionExecuting`和`OnActionExecuted`方法,可以统一处理日志、验证及异常。创建并注册自定义筛选器类,能提升代码的可维护性和复用性。
247 3