0

我有一个学生数据库,以及基于他们的每周数据。我想创建一个网格视图,具有一组动态扩展的列和行,其中行是第 1,2 周,...,n,列代表每个学生,反之亦然。

Reviews data table looks like this:
======================================
| Stu#  | Week# | Score    | Review# |
--------------------------------------
| 123   | 1     | A+       | 832     |
| 123   | 2     | C-       | 352     |
.       .       .          .         .
.       .       .          .         . 
.       .       .          .         .
| 321   | 12    | B        | 992     |
| 321   | 13    | A-       | 935     |
======================================

所以基本上,我想为

在每个单元格中,我希望有一个基于提交的评论的每周数据,以及指向该评论的链接。很像:

 _____________________________
| Week | StudentA  | StudentB |
| No.  |   (123)   |  (321)   |
-------------------------------
|   1  |    A+     |   B-     |
|   2  |    ...    |   ...    |
.      .           .          . 
.      .           .          . 
.      .           .          . 
|  13  |     A+    |   B-     |
-------------------------------

我已经查看了几个(数百个)相似但不完全相同的问题,试图将某些东西拼接在一起,但到目前为止,我都傻眼了。这几乎就像它代表一个带有特定数据条目链接的 Excel 电子表格。

我尝试在一个列表中创建一个列表,但这变得太混乱了。然后我尝试使用 DataTable 进行操作,其中列和行是在开始时创建的,但不知道如何 DataBind() 包含超链接的表(当然以 URLParameters 的形式到 aspx 页面)。

4

1 回答 1

0

好的,我已经开始动态生成一个 DataTable 并将其绑定到我的 GridView,这对于纯文本结果非常有效,但我想为每个元素(即 A+)创建超链接,以便可以读取特定标记, 带有评论等。

我尝试添加一个标签,但由于 ASP.net 的代码注入保护,它并没有很好地工作。所以基本上我有:

 HyperLink thisScore = new HyperLink();
            thisScore.NavigateUrl=string.Format("<a href='studentMarks.aspx?groupID={0}&week={1}&studentID={2}'>{3}</a>", groupID, week, reader["student_ID"], reader[studentScoreLocation]);
            newRow[studentName] = thisScore;

随后尝试使用超链接对象(无济于事)

        HyperLink thisScore = new HyperLink();
        thisScore.NavigateUrl=string.Format("studentMarks.aspx?groupID={0}&week={1}&studentID={2}", groupID, week, reader["student_ID"]);
        thisScore.Text = reader[studentScoreLocation].ToString();
        newRow[studentName] = thisScore;

解决这个问题的最佳方法是什么?

于 2012-05-30T14:54:29.540 回答