今天学习了Repeater控件的使用,Repeater控件没有定义样式,要自己编写HTML来定义样式,这样工作量可能会大一些,但它所带来的好处是可以随心所欲地定义自己数据的样式,数据源用了AccessDataSource控件,通过id传值到Default2.aspx页面来显示在Default.aspx点击记录的详细信息,详细信息显示在一个gridview控件上
Default.aspx
1
<%@ Page Language="C#" AutoEventWireup="true" CodeFile="Default.aspx.cs" Inherits="_Default" %>
2
3
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
4
5
<html xmlns="http://www.w3.org/1999/xhtml" >
6
<head id="Head1" runat="server">
7
<title>Untitled Page</title>
8
</head>
9
<body>
10
<form id="form1" runat="server">
11
<div>
12
<asp:Repeater ID="Repeater1" runat="server" DataSourceID="AccessDataSource1">
13
<%--自定义头模板--%>
14
<HeaderTemplate>
15
<table>
16
<tr>
17
<td>
18
name
19
</td>
20
<td>
21
title
22
</td>
23
</tr>
24
</HeaderTemplate>
25
<%--自定义项模板--%>
26
<ItemTemplate>
27
<tr bgcolor="#33ff66">
28
<td>
29
<%--绑定name字段--%>
30
<a href='Default2.aspx?id=<%#Eval("id") %>'><%#Eval("name") %></a>
31
</td>
32
<td>
33
<%--绑定title字段--%>
34
<%#Eval("title") %>
35
</td>
36
</tr>
37
</ItemTemplate>
38
<%--自定义交替项模板--%>
39
<AlternatingItemTemplate>
40
<tr bgcolor="#ff9900">
41
<td >
42
<font color="red">
43
<a href='Default1.aspx?id=<%#Eval("id") %>'><%#Eval("name") %></a>
44
</font>
45
</td>
46
<td>
47
<font color="red">
48
<%#Eval("title") %>
49
</font>
50
</td>
51
</tr>
52
</AlternatingItemTemplate>
53
<%--自定义分隔符模板--%>
54
<SeparatorTemplate>
55
<tr>
56
<td colspan="2">
57
<hr size="1pt" />
58
</td>
59
</tr>
60
</SeparatorTemplate>
61
<%--自定义脚模板--%>
62
<FooterTemplate>
63
<tr>
64
<td colspan="2">
65
footerTemplate
66
</td>
67
</tr>
68
</table>
69
</FooterTemplate>
70
</asp:Repeater>
71
<asp:AccessDataSource ID="AccessDataSource1" runat="server" DataFile="~/App_Data/student.mdb"
72
SelectCommand="SELECT * FROM [message]"></asp:AccessDataSource>
73
74
</div>
75
</form>
76
</body>
77
</html>
78
79

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

25

26

27

28

29

30

31

32

33

34

35

36

37

38

39

40

41

42

43

44

45

46

47

48

49

50

51

52

53

54

55

56

57

58

59

60

61

62

63

64

65

66

67

68

69

70

71

72

73

74

75

76

77

78

79

Default2.aspx.cs
1
using System;
2
using System.Data;
3
using System.Configuration;
4
using System.Collections;
5
using System.Web;
6
using System.Web.Security;
7
using System.Web.UI;
8
using System.Web.UI.WebControls;
9
using System.Web.UI.WebControls.WebParts;
10
using System.Web.UI.HtmlControls;
11
using System.Data.OleDb;
12
13
public partial class Default2 : System.Web.UI.Page
14
{
15
protected void Page_Load(object sender, EventArgs e)
16
{
17
string connectionString = "provider=microsoft.jet.oledb.4.0;data source=D:/WebSites/Repeater1/App_Data/student.mdb;";
18
OleDbConnection myConnection = new OleDbConnection(connectionString);
19
int id = Int32.Parse(Request.QueryString["id"].ToString());//这里改成int id = Int32.Parse(Request.QueryString["id"]);就会出错,想不明白???
20
string queryString = "select * from message where id=" + id + "";
21
OleDbCommand myCommand = new OleDbCommand(queryString,myConnection);
22
myConnection.Open();
23
OleDbDataReader dr = myCommand.ExecuteReader();
24
GridView1.DataSource = dr;
25
GridView1.DataBind();
26
}
27
}
28

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

25

26

27

28
