从前面往后面写:
ascx:
1
<asp:datagrid id="grdTopics" Runat="server" GridLines="None" CellPadding="2" AutoGenerateColumns="false"
2
width="100%" cssclass="DataGrid_Container">
3
<FooterStyle CssClass="DataGrid_Footer"></FooterStyle>
4
<SelectedItemStyle CssClass="NormalRed"></SelectedItemStyle>
5
<EditItemStyle CssClass="NormalTextBox"></EditItemStyle>
6
<AlternatingItemStyle CssClass="Normal"></AlternatingItemStyle>
7
<ItemStyle HorizontalAlign="Left" CssClass="Normal"></ItemStyle>
8
<HeaderStyle HorizontalAlign="Center" CssClass="NormalBold" VerticalAlign="Top"></HeaderStyle>
9
<Columns>
10
<asp:TemplateColumn HeaderText="Selected">
11
<ItemTemplate>
12
<input type="checkbox" width="10" name="chkid" value='<%# DataBinder.Eval(Container.DataItem, "TopicID")%>' onclick='UnCheck(this)' style="background-color:transparent" >
13
</ItemTemplate>
14
</asp:TemplateColumn>
15
<dnn:TextColumn HeaderText="TopicId" DataField="TopicId" Width="50">
16
<HeaderStyle Font-Size="10pt" Font-Names="Tahoma, Verdana, Arial" Font-Bold="True" HorizontalAlign="Left"></HeaderStyle>
17
<ItemStyle Font-Size="10pt" Font-Names="Tahoma, Verdana, Arial" HorizontalAlign="Left"></ItemStyle>
18
<HeaderTemplate></HeaderTemplate>
19
<ItemTemplate></ItemTemplate>
20
<EditItemTemplate></EditItemTemplate>
21
</dnn:TextColumn>
22
<dnn:TextColumn HeaderText="Title" DataField="inTitle" Width="">
23
<HeaderStyle Font-Size="10pt" Font-Names="Tahoma, Verdana, Arial" Font-Bold="True" HorizontalAlign="Left"></HeaderStyle>
24
<ItemStyle Font-Size="10pt" Font-Names="Tahoma, Verdana, Arial" HorizontalAlign="Left"></ItemStyle>
25
<HeaderTemplate></HeaderTemplate>
26
<ItemTemplate></ItemTemplate>
27
<EditItemTemplate></EditItemTemplate>
28
</dnn:TextColumn>
29
<dnn:TextColumn HeaderText="Summary" DataField="inSummary" Width="50">
30
<HeaderStyle Font-Size="10pt" Font-Names="Tahoma, Verdana, Arial" Font-Bold="True" HorizontalAlign="Left"></HeaderStyle>
31
<ItemStyle Font-Size="10pt" Font-Names="Tahoma, Verdana, Arial" HorizontalAlign="Left"></ItemStyle>
32
<HeaderTemplate></HeaderTemplate>
33
<ItemTemplate></ItemTemplate>
34
<EditItemTemplate></EditItemTemplate>
35
</dnn:TextColumn>
36
<dnn:TextColumn HeaderText="Guests" DataField="inGuests" Width="">
37
<HeaderStyle Font-Size="10pt" Font-Names="Tahoma, Verdana, Arial" Font-Bold="True" HorizontalAlign="Left"></HeaderStyle>
38
<ItemStyle Font-Size="10pt" Font-Names="Tahoma, Verdana, Arial" HorizontalAlign="Left"></ItemStyle>
39
<HeaderTemplate></HeaderTemplate>
40
<ItemTemplate></ItemTemplate>
41
<EditItemTemplate></EditItemTemplate>
42
</dnn:TextColumn>
43
<dnn:TextColumn HeaderText="Time" DataField="inTime" Width="">
44
<HeaderStyle Font-Size="10pt" Font-Names="Tahoma, Verdana, Arial" Font-Bold="True" HorizontalAlign="Left"></HeaderStyle>
45
<ItemStyle Font-Size="10pt" Font-Names="Tahoma, Verdana, Arial" HorizontalAlign="Left"></ItemStyle>
46
<HeaderTemplate></HeaderTemplate>
47
<ItemTemplate></ItemTemplate>
48
<EditItemTemplate></EditItemTemplate>
49
</dnn:TextColumn>
50
<dnn:TextColumn HeaderText="ImgUrl" DataField="inImgUrl" Width="">
51
<HeaderStyle Font-Size="10pt" Font-Names="Tahoma, Verdana, Arial" Font-Bold="True" HorizontalAlign="Left"></HeaderStyle>
52
<ItemStyle Font-Size="10pt" Font-Names="Tahoma, Verdana, Arial" HorizontalAlign="Left"></ItemStyle>
53
<HeaderTemplate></HeaderTemplate>
54
<ItemTemplate></ItemTemplate>
55
<EditItemTemplate></EditItemTemplate>
56
</dnn:TextColumn>
57
<dnn:ImageCommandColumn KeyField="TopicId" ShowImage="True" ImageURL="images/edit.gif" CommandName="Edit"
58
EditMode="URL">
59
<HeaderStyle Font-Size="10pt" Font-Names="Tahoma, Verdana, Arial" Font-Bold="True" HorizontalAlign="Center"></HeaderStyle>
60
<EditItemTemplate></EditItemTemplate>
61
<ItemStyle HorizontalAlign="Center"></ItemStyle>
62
<HeaderTemplate></HeaderTemplate>
63
<ItemTemplate></ItemTemplate>
64
</dnn:ImageCommandColumn>
65
<dnn:ImageCommandColumn KeyField="TopicId" ShowImage="True" ImageURL="images/delete.gif" CommandName="Delete"
66
EditMode="Command">
67
<HeaderStyle Font-Size="10pt" Font-Names="Tahoma, Verdana, Arial" Font-Bold="True" HorizontalAlign="Center"></HeaderStyle>
68
<EditItemTemplate></EditItemTemplate>
69
<ItemStyle HorizontalAlign="Center"></ItemStyle>
70
<HeaderTemplate></HeaderTemplate>
71
<ItemTemplate></ItemTemplate>
72
</dnn:ImageCommandColumn>
73
</Columns>
74
<PagerStyle CssClass="DataGrid_Pager"></PagerStyle>
75
</asp:datagrid>
![](https://www.cnblogs.com/Images/OutliningIndicators/None.gif)
2
![](https://www.cnblogs.com/Images/OutliningIndicators/None.gif)
3
![](https://www.cnblogs.com/Images/OutliningIndicators/None.gif)
4
![](https://www.cnblogs.com/Images/OutliningIndicators/None.gif)
5
![](https://www.cnblogs.com/Images/OutliningIndicators/None.gif)
6
![](https://www.cnblogs.com/Images/OutliningIndicators/None.gif)
7
![](https://www.cnblogs.com/Images/OutliningIndicators/None.gif)
8
![](https://www.cnblogs.com/Images/OutliningIndicators/None.gif)
9
![](https://www.cnblogs.com/Images/OutliningIndicators/None.gif)
10
![](https://www.cnblogs.com/Images/OutliningIndicators/None.gif)
11
![](https://www.cnblogs.com/Images/OutliningIndicators/None.gif)
12
![](https://www.cnblogs.com/Images/OutliningIndicators/None.gif)
13
![](https://www.cnblogs.com/Images/OutliningIndicators/None.gif)
14
![](https://www.cnblogs.com/Images/OutliningIndicators/None.gif)
15
![](https://www.cnblogs.com/Images/OutliningIndicators/None.gif)
16
![](https://www.cnblogs.com/Images/OutliningIndicators/None.gif)
17
![](https://www.cnblogs.com/Images/OutliningIndicators/None.gif)
18
![](https://www.cnblogs.com/Images/OutliningIndicators/None.gif)
19
![](https://www.cnblogs.com/Images/OutliningIndicators/None.gif)
20
![](https://www.cnblogs.com/Images/OutliningIndicators/None.gif)
21
![](https://www.cnblogs.com/Images/OutliningIndicators/None.gif)
22
![](https://www.cnblogs.com/Images/OutliningIndicators/None.gif)
23
![](https://www.cnblogs.com/Images/OutliningIndicators/None.gif)
24
![](https://www.cnblogs.com/Images/OutliningIndicators/None.gif)
25
![](https://www.cnblogs.com/Images/OutliningIndicators/None.gif)
26
![](https://www.cnblogs.com/Images/OutliningIndicators/None.gif)
27
![](https://www.cnblogs.com/Images/OutliningIndicators/None.gif)
28
![](https://www.cnblogs.com/Images/OutliningIndicators/None.gif)
29
![](https://www.cnblogs.com/Images/OutliningIndicators/None.gif)
30
![](https://www.cnblogs.com/Images/OutliningIndicators/None.gif)
31
![](https://www.cnblogs.com/Images/OutliningIndicators/None.gif)
32
![](https://www.cnblogs.com/Images/OutliningIndicators/None.gif)
33
![](https://www.cnblogs.com/Images/OutliningIndicators/None.gif)
34
![](https://www.cnblogs.com/Images/OutliningIndicators/None.gif)
35
![](https://www.cnblogs.com/Images/OutliningIndicators/None.gif)
36
![](https://www.cnblogs.com/Images/OutliningIndicators/None.gif)
37
![](https://www.cnblogs.com/Images/OutliningIndicators/None.gif)
38
![](https://www.cnblogs.com/Images/OutliningIndicators/None.gif)
39
![](https://www.cnblogs.com/Images/OutliningIndicators/None.gif)
40
![](https://www.cnblogs.com/Images/OutliningIndicators/None.gif)
41
![](https://www.cnblogs.com/Images/OutliningIndicators/None.gif)
42
![](https://www.cnblogs.com/Images/OutliningIndicators/None.gif)
43
![](https://www.cnblogs.com/Images/OutliningIndicators/None.gif)
44
![](https://www.cnblogs.com/Images/OutliningIndicators/None.gif)
45
![](https://www.cnblogs.com/Images/OutliningIndicators/None.gif)
46
![](https://www.cnblogs.com/Images/OutliningIndicators/None.gif)
47
![](https://www.cnblogs.com/Images/OutliningIndicators/None.gif)
48
![](https://www.cnblogs.com/Images/OutliningIndicators/None.gif)
49
![](https://www.cnblogs.com/Images/OutliningIndicators/None.gif)
50
![](https://www.cnblogs.com/Images/OutliningIndicators/None.gif)
51
![](https://www.cnblogs.com/Images/OutliningIndicators/None.gif)
52
![](https://www.cnblogs.com/Images/OutliningIndicators/None.gif)
53
![](https://www.cnblogs.com/Images/OutliningIndicators/None.gif)
54
![](https://www.cnblogs.com/Images/OutliningIndicators/None.gif)
55
![](https://www.cnblogs.com/Images/OutliningIndicators/None.gif)
56
![](https://www.cnblogs.com/Images/OutliningIndicators/None.gif)
57
![](https://www.cnblogs.com/Images/OutliningIndicators/None.gif)
58
![](https://www.cnblogs.com/Images/OutliningIndicators/None.gif)
59
![](https://www.cnblogs.com/Images/OutliningIndicators/None.gif)
60
![](https://www.cnblogs.com/Images/OutliningIndicators/None.gif)
61
![](https://www.cnblogs.com/Images/OutliningIndicators/None.gif)
62
![](https://www.cnblogs.com/Images/OutliningIndicators/None.gif)
63
![](https://www.cnblogs.com/Images/OutliningIndicators/None.gif)
64
![](https://www.cnblogs.com/Images/OutliningIndicators/None.gif)
65
![](https://www.cnblogs.com/Images/OutliningIndicators/None.gif)
66
![](https://www.cnblogs.com/Images/OutliningIndicators/None.gif)
67
![](https://www.cnblogs.com/Images/OutliningIndicators/None.gif)
68
![](https://www.cnblogs.com/Images/OutliningIndicators/None.gif)
69
![](https://www.cnblogs.com/Images/OutliningIndicators/None.gif)
70
![](https://www.cnblogs.com/Images/OutliningIndicators/None.gif)
71
![](https://www.cnblogs.com/Images/OutliningIndicators/None.gif)
72
![](https://www.cnblogs.com/Images/OutliningIndicators/None.gif)
73
![](https://www.cnblogs.com/Images/OutliningIndicators/None.gif)
74
![](https://www.cnblogs.com/Images/OutliningIndicators/None.gif)
75
![](https://www.cnblogs.com/Images/OutliningIndicators/None.gif)
下面就有问题了:
.ascx.cs:
1
private void BindData()
2
{
3
8
ChatRoomController ctl1 = new ChatRoomController();
9
TopicsInfo info1 = ctl1.GetTopics(this.ModuleId);//这里得到所有的topic,数组形式,调试时可以将info1里面的内容输出:
TopicInfo aa = (TopicInfo)info1.Topics[0];
Response.Write(info1.Count.ToString() +aa.inTitle);
26
this.grdTopics.DataSource = info1.Topics;
28
this.grdTopics.DataBind();
29
this.BindPages();
30
this.ProessButton();
31
}
最大的错误出现在controller里面:![](https://www.cnblogs.com/Images/OutliningIndicators/None.gif)
2
![](https://www.cnblogs.com/Images/OutliningIndicators/ExpandedBlockStart.gif)
3
8
![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
9
![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
TopicInfo aa = (TopicInfo)info1.Topics[0];
Response.Write(info1.Count.ToString() +aa.inTitle);
26
![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
28
![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
29
![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
30
![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
31
![](https://www.cnblogs.com/Images/OutliningIndicators/ExpandedBlockEnd.gif)
1
public TopicsInfo GetTopics(int ModuleID)
2
{
3
TopicsInfo info1 = new TopicsInfo();
4
ArrayList list1 = new ArrayList();
5
IDataReader reader1 = DataProvider.Instance().GetTopics(ModuleID);
6
reader1.Read();
7
int num1 = Convert.ToInt32(RuntimeHelpers.GetObjectValue(reader1[0]));
8
reader1.NextResult();
9
list1 = CBO.FillCollection(reader1, typeof(TopicInfo));
10
info1.Count = num1;
11
info1.Topics = list1;
12
return info1;
13
}
由于对 IDataReader reader1 = DataProvider.Instance().GetTopics(ModuleID); reader1.Read();![](https://www.cnblogs.com/Images/OutliningIndicators/None.gif)
2
![](https://www.cnblogs.com/Images/OutliningIndicators/ExpandedBlockStart.gif)
3
![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
4
![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
5
![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
6
![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
7
![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
8
![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
9
![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
10
![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
11
![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
12
![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
13
![](https://www.cnblogs.com/Images/OutliningIndicators/ExpandedBlockEnd.gif)
不熟悉,所以犯错误了,现在详细的认识一下这个idatareader :
通过存储过程gettopic读出来所有的数据库中的数据,reader[0]是第一个数组中的内容。
reader1.NextResult();读下一个数组。
num1得到了reader[0],即topic的个数(在存储过程里面很清楚,一共select了两个数据,一个是topic个数,一个是topic的内容)
然后 info1.count = num1。
info1.topics = list1(即reader读的第二条数据 reader1.NextResult(),topic的内容)
以下是存储过程:
1
SELECT COUNT([TopicId])
2
FROM dbo.HVC_ChatRoom_TopicsList
3
WHERE ModuleID = @ModuleID
4
5
SELECT
6
TopicId,
7
inTitle,
8
inSummary,
9
inTime,
10
inGuests
11
FROM {databaseOwner}{objectQualifier}HVC_ChatRoom_TopicsList
12
WHERE ModuleID = @ModuleID
![](https://www.cnblogs.com/Images/OutliningIndicators/None.gif)
2
![](https://www.cnblogs.com/Images/OutliningIndicators/None.gif)
3
![](https://www.cnblogs.com/Images/OutliningIndicators/None.gif)
4
![](https://www.cnblogs.com/Images/OutliningIndicators/None.gif)
5
![](https://www.cnblogs.com/Images/OutliningIndicators/None.gif)
6
![](https://www.cnblogs.com/Images/OutliningIndicators/None.gif)
7
![](https://www.cnblogs.com/Images/OutliningIndicators/None.gif)
8
![](https://www.cnblogs.com/Images/OutliningIndicators/None.gif)
9
![](https://www.cnblogs.com/Images/OutliningIndicators/None.gif)
10
![](https://www.cnblogs.com/Images/OutliningIndicators/None.gif)
11
![](https://www.cnblogs.com/Images/OutliningIndicators/None.gif)
12
![](https://www.cnblogs.com/Images/OutliningIndicators/None.gif)