目录
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
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测试窗体
前台
<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】测试窗体
前台
<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了,做项目真的挺方便的呢。但是对于程序员要求相对要高一些。
我留了一篇练习的文章,包含整个的增删改查,希望能帮助到大家,链接再下方: