服务器之家:专注于服务器技术及软件下载分享
分类导航

PHP教程|ASP.NET教程|JAVA教程|ASP教程|

ASP.NET 绑定DataSet中的多个表

2019-06-18 10:44asp.net之家 ASP.NET教程

今天在论坛遇到有人问如何在ASP.NET的数据控件中如何一次绑定多个表?

这个问题,平时很少看到,一般在数据绑定之前,数据都是放在一个表中的,实际上,如果表之间存在关系,绑定多个表也是可以的。下面就是 DataSet中两个表进行绑定的例子。

复制代码代码如下:

<%@ Page Language="C#" %> 
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" 
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> 
<script runat="server"> 
protected void Page_Load(object sender, EventArgs e) 

System.Data.DataSet ds = new System.Data.DataSet(); 
System.Data.DataTable dataTable1 = new System.Data.DataTable("BlogUser"); 
System.Data.DataRow dr; 
dataTable1.Columns.Add(new System.Data.DataColumn("UserId", typeof(System.Int32))); 
dataTable1.Columns.Add(new System.Data.DataColumn("UserName", typeof(System.String))); 
dataTable1.PrimaryKey = new System.Data.DataColumn[] { dataTable1.Columns["UserId"] }; 
for (int i = 0; i < 8; i++) 

dr = dataTable1.NewRow(); 
dr[0] = i; 
dr[1] = "【孟子E章】" + i.ToString(); 
dataTable1.Rows.Add(dr); 

System.Data.DataTable dataTable2 = new System.Data.DataTable("BlogArticle"); 
dataTable2.Columns.Add(new System.Data.DataColumn("ArticleId", typeof(System.Int32))); 
dataTable2.Columns.Add(new System.Data.DataColumn("Title", typeof(System.String))); 
dataTable2.Columns.Add(new System.Data.DataColumn("UserId", typeof(System.Int32))); 
dataTable2.PrimaryKey = new System.Data.DataColumn[] { dataTable1.Columns["ArticleId"] }; 
Random rd = new Random(); 
for (int i = 0; i < 20; i++) 

dr = dataTable2.NewRow(); 
dr[0] = i; 
dr[1] = "文章标题" + i.ToString(); 
dr[2] = rd.Next(0, 7); 
dataTable2.Rows.Add(dr); 

ds.Tables.Add(dataTable1); 
ds.Tables.Add(dataTable2); 
System.Data.DataColumn parentColumn = ds.Tables["BlogUser"].Columns["UserId"]; 
System.Data.DataColumn childColumn = ds.Tables["BlogArticle"].Columns["UserId"]; 
System.Data.DataRelation user_article = new System.Data.DataRelation("UserId", parentColumn, childColumn); 
ds.Relations.Add(user_article); 
this.Repeater1.DataSource = ds.Tables["BlogArticle"].DefaultView; 
this.Repeater1.DataBind(); 

</script> 
<html xmlns="http://www.w3.org/1999/xhtml"> 
<head id="Head1" runat="server"> 
<title> ASP.NET 绑定DataSet中的多个表 作者:孟子E章</title> 
</head> 
<body> 
<form id="form1" runat="server"> 
<asp:Repeater ID="Repeater1" runat="server"> 
<HeaderTemplate> 
<table border="1"> 
<tr style="background:orange"> 
<th>文章标题</th> 
<th>用户ID</th> 
<th>用户名</th> 
</tr> 
</HeaderTemplate> 
<FooterTemplate> 
</table></FooterTemplate> 
<ItemTemplate> 
<tr> 
<td><%#Eval("Title")%></td><td><%#Eval("UserId") %></td> 
<td><%#(Container.DataItem as System.Data.DataRowView).Row.GetParentRow("UserId")["UserName"]%> 
</td> 
</tr> 
</ItemTemplate> 
</asp:Repeater> 
</form> 
</body> 
</html> 

延伸 · 阅读

精彩推荐
  • ASP.NET教程ASP.NET Ajax级联DropDownList实现代码

    ASP.NET Ajax级联DropDownList实现代码

    我想大家对Ajax已耳熟能详。自web 2.0概念出现以后,提供更好的用户体验变得越来越重要。那么今天我来讲解一下如何使用ASP.NET Ajax和web service构建无刷新级联DropDownList(以下简称为级联DDL)。完成的效果图...

    脚本之家 467 2019-06-18
  • ASP.NET教程ASP.NET 绑定DataSet中的多个表

    ASP.NET 绑定DataSet中的多个表

    今天在论坛遇到有人问如何在ASP.NET的数据控件中如何一次绑定多个表?...

    asp.net之家 416 2019-06-18
  • ASP.NET教程ASP.NET 重定向的几种方法小结

    ASP.NET 重定向的几种方法小结

    页面重定向的使用很多,实现方法也有不同,自己也试过几种,现在总结一下。...

    服务器之家 233 2019-06-18
  • ASP.NET教程asp.net 防止用户通过后退按钮重复提交表单

    asp.net 防止用户通过后退按钮重复提交表单

    经过一番仔细的寻寻觅觅之后,我发现仍旧无法找出真正能够完全禁用浏览器后退按钮的办法。所有这里介绍的方法都能够在不同程度上、以不同的方式禁止用户返回前一页面,但它们都有各自的局限。...

    脚本之家 285 2019-06-16
  • ASP.NET教程浅析ASP.NET生成随机密码函数

    浅析ASP.NET生成随机密码函数

    在开发需要用户注册后才能使用提供的各项功能的应用程序时,在新用户提交注册信息后,较常见的做法是由程序生成随机密码,然后发送密码到用户注册时填写的电子信箱,用户再用收到的密码来激活其帐户。...

    脚本之家 479 2019-06-16
  • ASP.NET教程asp.net(c#)网页跳转七种方法小结

    asp.net(c#)网页跳转七种方法小结

    在asp.net下,经常需要页面的跳转,下面是具体的几种方法。跳转页面是大部编辑语言中都会有的,正面我们来分别介绍一下关于.net中response.redirect sever.execute server.transfer 三种页面跳转的方法...

    脚本之家 233 2019-06-17
  • ASP.NET教程asp.net“服务器应用程序不可用” 解决方法

    asp.net“服务器应用程序不可用” 解决方法

    服务器应用程序不可用 您试图在此 Web 服务器上访问的 Web 应用程序当前不可用。请点击 Web 浏览器中的“刷新”按钮重试您的请求。 管理员注意事项: 详述此特定请求失败原因的错误消息可在 Web 服务器的系统事件日志中找到。请...

    网络 142 2019-06-17
  • ASP.NET教程ASP.NET中的几种弹出框提示基本实现方法

    ASP.NET中的几种弹出框提示基本实现方法

    NET程序的开发过程中,常常需要和用户进行信息交互,对话框的出现将解决了这些问题,下面是本人对常用对话框使用的小结,希望对大家有所帮助...

    互联网 404 2019-06-17