Asp.net 如何根据第一个中继器的值在中继器内部绑定中继器

Asp.net 如何根据第一个中继器的值在中继器内部绑定中继器,asp.net,gridview,repeater,Asp.net,Gridview,Repeater,学生代码|学生名称|地区名称|地点名称|资产详细信息| 我必须根据每个学生显示资产详细信息。一个学生可以有多个资产详细信息,我如何在repeater或gridview中使用这些信息 我在SQL中拥有的表 学生代码|学生姓名|资产详细信息 1射线笔记本电脑 1个射线床 2个Raj电话 2拉杰充电器\ .... 我想在我的页面上显示每个唯一学生代码的资产详细信息,如下图所示。 学生代码|学生姓名|资产详细信息 1射线笔记本电脑 床 2个Raj电话 充电器 如何从sql中只点击一次就执行相同的操作?不

学生代码|学生名称|地区名称|地点名称|资产详细信息|

我必须根据每个学生显示资产详细信息。一个学生可以有多个资产详细信息,我如何在repeater或gridview中使用这些信息

我在SQL中拥有的表

学生代码|学生姓名|资产详细信息
1射线笔记本电脑
1个射线床
2个Raj电话
2拉杰充电器\

.... 我想在我的页面上显示每个唯一学生代码的资产详细信息,如下图所示。

学生代码|学生姓名|资产详细信息

1射线笔记本电脑

2个Raj电话
充电器


如何从sql中只点击一次就执行相同的操作?

不要使用两个中继器控件,而是尝试进行sql查询以获取此格式的数据
使用这样的查询

select studentID, 
       stuff((select ',' + AssetDetails
                  from Tbl_Student t2 
                  where t2.studentID= t1.studentID
                  order by studentID
                  for xml path('')),1,1,'') as AssetDetailsString
    from Tbl_Student t1
    group by studentID

这将为每个studentID返回一行,其中AssetDetails以CSV格式显示在同一行中。您可以执行以下操作:

使用存储过程返回以下查询的两个结果集

SELECT DISTINCT StudentCode, studentname FROM StudentInfo

SELECT StudentCode, student name, Asset Details
为包含2个表的结果创建数据集。您可以将第一个表命名为“Student”,第二个表命名为“StudentInfo”

为表创建关系(请使用intellisense作为语法)

将GridView与数据集绑定

为资产详细信息创建一个模板列,并为该列插入一个repeater或Gridview

在GridView的
ItemDataBound
事件上

DataRowView drv = (DataRowView)e.ItemData;
Repeater.DataSource = dv.CreateChildView();

为同一存储过程中但不同表中的父中继器和子中继器选择数据。将第一个中继器与其表(例如表[0])绑定,并在父中继器的ItemDataBound事件中通过在表[1]上应用LINQ绑定子中继器。在中继器内使用两个中继器一个中继器。。
DataRowView drv = (DataRowView)e.ItemData;
Repeater.DataSource = dv.CreateChildView();