从SQL里面查询出数据
添加到页面中的div层中
逐条显示。
Thanks
添加到页面中的div层中
逐条显示。
Thanks
解决方案 »
- Jquery ajax 调用webservice问题
- ASP.NET问题(与数据库做连接)
- 有谁用过htmlEditor?从数据库读取带HTML格式的文本后,怎么会显示乱码?
- OWC11.DLL如何在WIN2003的服务器上注册呢?
- 关于手机上传图片的问题
- datagrid模板列中如何验证控件?
- asp.net中怎么让z在TextBox输入数据时,TextBox右边不显示那个叉叉“X”
- 函数中怎么传递DataSet或DataTable对象,我一直试验不成功
- 关于动态变化table背景的问题!
- to icyer 提问:为什么动态加载的控件无法使用?
- 不得已发帖求助
- 请高手帮我把这段VB代码翻译成C#的,谢谢
datalistview一次显示一条记录
获取数据源
repeater.DataSource=dt;
repeater.DataBind();
protected string list = "";
DataTable dt = 获取数据的函数;
int i = 1; //行数
foreach(DataRow dr in dt.Rows)
{
list += String.Form("<div><span>序号:{0}</span><span>{1}</span></div>",i.ToString(),dr["XXXX"].ToString()); //可以用string + string 来接驳不过不好看
i++;
}.aspx 就<%=list %>调用
<%@ Page Language="C#" AutoEventWireup="true" CodeFile="Default2.aspx.cs" Inherits="Default2" %>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head runat="server">
<title></title>
</head>
<body>
<form id="form1" runat="server">
<div id="display" runat="server">Table Will Go Here</div>
</form>
</body>
</html>Default.aspx.cs后台代码
1: using System;
2: using System.Data;
3: using System.Data.SqlClient;
4: using System.Web.Configuration;
5:
6: public partial class Default2 : System.Web.UI.Page
7: {
8: protected void Page_Load(object sender, EventArgs e)
9: {
10: // Connection set up
11: String strConnection = WebConfigurationManager.ConnectionStrings["NorthWind"].ConnectionString;
12:
13: SqlConnection objConnection = new SqlConnection(strConnection);
14: String strSQL = "SELECT ProductName, UnitsInStock FROM Products";
15: // DataAdapter setup
16: SqlDataAdapter objAdapter = new SqlDataAdapter(strSQL, objConnection);
17: // DataSet & Adapter & Table
18: DataSet objDataSet = new DataSet();
19: objAdapter.Fill(objDataSet, "dtProducts");
20: String strResultsHolder;
21: strResultsHolder = "<table width=80% border=1>";
22: strResultsHolder += "<tr>";
23: foreach (DataColumn c in objDataSet.Tables["dtProducts"].Columns)
24: {
25: strResultsHolder += "<td>" + c.ColumnName + "</td>";
26: }
27: strResultsHolder += "</tr>";
28: int value, blankValue;
29: foreach (DataRow r in objDataSet.Tables["dtProducts"].Rows)
30: {
31: value = 100 * Convert.ToInt32(r["UnitsInStock"]) / 125;
32: blankValue = 100 - value;
33: strResultsHolder += "<tr><td width=30%>" + r["ProductName"] + "</td>" +
34: "<td width=60%><table width=100%><tr>" + "<td width=" + value.ToString() +
35: "% bgcolor=#9933FF>" + " </td>" + "<td width=" + blankValue.ToString() +
36: "%> </td>" + "</tr></table></td>" + "<td width=10%>" + r["UnitsInStock"].ToString() + "</td></tr>";
37: }
38: strResultsHolder += "</table>";
39: display.InnerHtml = strResultsHolder;
40: }
41: }
做一个测试:
我创建的SQL数据库如下:
create database repeater --创建数据库use repeater --使用该库create table tbRepeater --创建表
(
rID int identity(1,1) primary key,
rTitle varchar(50) not null,
rText text null
)
--插入几项数据
insert into tbRepeater values('test1','test1')
insert into tbRepeater values('test2','test2')
insert into tbRepeater values('test3','test3')
insert into tbRepeater values('test4','test4')
insert into tbRepeater values('test5','test5') html页面代码如下:
主要是拖进一个Repeater控件,然后往它里面嵌入表格并让其绑定数据字段.
<div>
<asp:Repeater ID="rpTest" runat="server">
<HeaderTemplate>
<table>
<tr>
<th>ID</th>
<th>Title</th>
<th>Text</th>
</tr>
</HeaderTemplate>
<ItemTemplate>
<tr>
<td><asp:Label runat="server" ID="lblID" Text='<%# Eval("rID") %>'></asp:Label></td>
<td><asp:Label runat="server" ID="lblTitle" Text='<%# Eval("rTitle") %>'></asp:Label></td>
<td><asp:Label runat="server" ID="lblText" Text='<%# Eval("rText") %>'></asp:Label></td>
</tr>
</ItemTemplate>
<AlternatingItemTemplate>
<tr>
<td><asp:Label runat="server" ID="lblID" Text='<%# Eval("rID") %>'></asp:Label></td>
<td><asp:Label runat="server" ID="lblTitle" Text='<%# Eval("rTitle") %>'></asp:Label></td>
<td><asp:Label runat="server" ID="lblText" Text='<%# Eval("rText") %>'></asp:Label></td>
</tr>
</AlternatingItemTemplate>
<FooterTemplate>
</table>
</FooterTemplate>
</asp:Repeater>
</div>
CS端后台代码:
在后台代码,只需要普通的绑定就OK了.
private void BindDataToRepeater()
{
string strCon = System.Configuration.ConfigurationSettings.AppSettings["ConnectionString"].ToString();
SqlConnection con = new SqlConnection(strCon);
con.Open();
SqlCommand cmd = new SqlCommand("select * from tbRepeater", con); SqlDataAdapter sda = new SqlDataAdapter();
sda.SelectCommand = cmd;
DataSet ds = new DataSet();
sda.Fill(ds, "tbRepeater");
rpTest.DataSource = ds.Tables["tbRepeater"];
rpTest.DataBind();
con.Close();
}
然后在Page_Load事件中调用些函数即可.如下:
protected void Page_Load(object sender, EventArgs e)
{
if (!IsPostBack)
{
BindDataToRepeater();
}
}
这样做之后,用table在asp.net中绑定数据就很简单,也很好理解了,不用再去想怎么循环去读取数据.还要判断数据的结尾.如果想让Repeat可以分页,也可以对其分页的属性进行相应的设置.