新人有点小问题~~~~~~求教~~~

fan791815297 2012-02-13 07:32:11
从SQL里面查询出数据
添加到页面中的div层中
逐条显示。。。。
Thanks
...全文
205 15 打赏 收藏 转发到动态 举报
写回复
用AI写文章
15 条回复
切换为时间正序
请发表友善的回复…
发表回复
ycproc 2012-02-14
  • 打赏
  • 举报
回复
后台拼接HTML 这样能知道 怎么个简单的原理

不知道 但是想完成功能的 就直接 服务器控件+数据集+数据源绑定数据
段传涛 2012-02-14
  • 打赏
  • 举报
回复
其实在asp.net中用table表格绑定数据,并不要像在asp中那么麻烦,那么难理解,也不要用什么循环语句来一项项的读取数据,然后填充表格.asp.net中有一个叫做Repeater的控件,我们可以直接把表格嵌入到Repeater控件中,然后设置Repeate控件的 DataSource属性并让其DataBind()就OK了......
做一个测试:
我创建的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可以分页,也可以对其分页的属性进行相应的设置.
段传涛 2012-02-14
  • 打赏
  • 举报
回复

<%@ 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: }
白云任去留 2012-02-14
  • 打赏
  • 举报
回复
lz简单的数据绑定控件不会用?...
EnForGrass 2012-02-14
  • 打赏
  • 举报
回复
[Quote=引用 5 楼 maco_wang 的回复:]

还是使用数据控件吧,例如gridview ,详见Gridview 72绝技。
[/Quote]
一次全部显示个人觉得用Repeater,要做的很好看又方便的话用Gridview。绑定数据源很简单,hjywyj写清楚了,你只需获取数据集就完了。
ruanwei1987 2012-02-13
  • 打赏
  • 举报
回复
网上搜吧,一把一把一把
魂千 2012-02-13
  • 打赏
  • 举报
回复
.cs 大概这样
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 %>调用

LMAOhuaNL 2012-02-13
  • 打赏
  • 举报
回复
[Quote=引用 6 楼 fan791815297 的回复:]

引用 4 楼 hjywyj 的回复:

DataTable dt=new DataTable();
获取数据源
repeater.DataSource=dt;
repeater.DataBind();


纠结··能否给个全的代码
[/Quote]
人家这个够全的了,你直接用SqlDataAdapter操作sql以获取到数据源

你google一把,你就会觉得很容易了
fan791815297 2012-02-13
  • 打赏
  • 举报
回复
[Quote=引用 5 楼 maco_wang 的回复:]

还是使用数据控件吧,例如gridview ,详见Gridview 72绝技。
[/Quote]

不用数据控件! 直接有顺序的显示在页面中
fan791815297 2012-02-13
  • 打赏
  • 举报
回复
[Quote=引用 4 楼 hjywyj 的回复:]

DataTable dt=new DataTable();
获取数据源
repeater.DataSource=dt;
repeater.DataBind();
[/Quote]

纠结··能否给个全的代码
叶子 2012-02-13
  • 打赏
  • 举报
回复
还是使用数据控件吧,例如gridview ,详见Gridview 72绝技。
  • 打赏
  • 举报
回复
DataTable dt=new DataTable();
获取数据源
repeater.DataSource=dt;
repeater.DataBind();
fan791815297 2012-02-13
  • 打赏
  • 举报
回复
[Quote=引用 1 楼 hjywyj 的回复:]

repeater一次全部显示
datalistview一次显示一条记录
[/Quote]

如何使用?
fan791815297 2012-02-13
  • 打赏
  • 举报
回复
[Quote=引用楼主 fan791815297 的回复:]
从SQL里面查询出数据
添加到页面中的div层中
逐条显示。。。。
Thanks
[/Quote]

如何使用?
  • 打赏
  • 举报
回复
repeater一次全部显示
datalistview一次显示一条记录

62,046

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术交流专区
javascript云原生 企业社区
社区管理员
  • ASP.NET
  • .Net开发者社区
  • R小R
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

.NET 社区是一个围绕开源 .NET 的开放、热情、创新、包容的技术社区。社区致力于为广大 .NET 爱好者提供一个良好的知识共享、协同互助的 .NET 技术交流环境。我们尊重不同意见,支持健康理性的辩论和互动,反对歧视和攻击。

希望和大家一起共同营造一个活跃、友好的社区氛围。

试试用AI创作助手写篇文章吧