在线用户    站点地图 技术论坛 文档中心 站点导航 资源下载 语言参考 教程专题 站点统计 业务项目 使用帮助
您的位置
MSDN参考新加了CSS2参考,全中文,制作精良。245k下载。           新加了sxf_sxf推荐的"动态网页专家指导" 下载!          新加了lsg2002lsg推荐的"ASP.NET高级编程(PDF)" 下载!          新加了DHTML代码预览!!,功能强大哦!欢迎试用          新加了网友lincong为大家提供的SQL Server 2000 程序员指南,有点大,但同时也就说明内容全咯!           新加了网友ibra为大家提供的北大的JAVA课件,很适合初学者入门           新加了一个java的连接缓冲池代码示例           新加了人月神话电子版下载!软件工程巨著哦~~           更新了评分标准,引入了“专家分”概念,相信可以更好的激励大家的学习!详情请看“使用帮助”           新加了由网友GGG提供的“IIS超级管理手册”,值得一看哦!(虽然我没看过 :P )           新加了“英雄榜”,欢迎测试!           “无组件上传·从原理剖析到实践”已经全部完成,源码全部开放,有兴趣的朋友请到文档中心一探究竟。  您的位置  首页>文档中心>ASP.net>文档A0000849 在同一窗口中打开页面中的链接 在新窗口中打开页面中的链接 将ASPCHINA设为首页 将ASPCHINA加入书签    
 LOGIN HERE
用户:
密码: 忘记密码
记住密码 用户注册 游客进入
相关文章

[原创]DW+ASP.Net实战(三):数据增删改

Asp.net 1.1 高级编程 [Professional ASP.NET 1.1]

[下载] Beginning ASP.NET 1.1 (.NET 2003)

用asp.net 上传文件如此简单

asp.net 1.1 安装手册
发表文章
[原创]DW+ASP.Net实战(二):数据的循环显示

作者:zidone     提交人:zidone     发布时间:04-11-28     文章类型:原创     浏览量:6029
参考链结:http://www.hotide.net/blog/show.php?id=28    
关键字:asp.net | DreamWeaver
[本文档没有附件]
字体:    视力保护色: 杏仁黄  秋叶褐  胭脂红  芥末绿  天蓝  雪青  灰  银河白(默认色) [A0000849]

[原创]DW+ASP.Net实战(二):数据的循环显示
[ReTech开发小组 www.hotide.net/blog]
4。数据的循环显示。
  首先说声对不起,昨天拉肚子,所以……呵呵,偷懒了。今天看了一下阿,论坛上基本上没有回帖,心里不舒服呀,大家要支持哦~~
  好了,不多说了,因为肚子还在疼,所以还是说正事吧!
  前一天我们说了DW与数据库的链接方法,在这里补充一下:在.net里面,数据链接住要有这么几种方式:SqlDataConnection、OleDbDataConnection、OdbcDataConnection三种,然后进行链接的构建,但在asp.net2.0例面,这些就改变了,连数据链接只需要标注一个控件即可完成,很是简单,呵呵,我发现微软公司要把我们程序员培养成纯粹的思维机器人了哈哈)。

SqlDataConnection是sqlServer专用的,OleDbDataConnection是通用的,呵呵, 不过如果是sql server的话,用OleDbDataConnection效率会受影响哦~~,那Odbc我就不说了,呼呼
  我们在这里用的就是比较通用的OleDbDataConnection来链接数据库,它既可以显示ACCESS数据库又可以链接SqlServer数据库,对应的代码如下:
  For Access:
Provider=Microsoft.Jet.OLEDB.4.0;Data Source=e:\dw.net\news.mdb;Persist Security Info=False

For MS SqlServer
PROVIDER=SQLOLEDB;DATA SOURCE=(local);UID=sa;PWD=;DATABASE=hotide;connect timeout=120;

  嗯,然后再按照前一天的东东就可以随心所欲链接拉,呵呵  现在,让我们开始说说循环显示数据。
  在.net面,最牛X的数据显示控件就可以说是DataGrid了。只要一个标签,和一些属性,数据就可以让你为所欲为。另外还有的主要控件就是DataList和Repeater了。按照效率来比较:DataGrid>DataList>Repeater,但是在方便程度上讲 这三个控件有时候又可以反过来排序,因为Repeater控件的逻辑往往和以前的ASP3.0中的do……while循环显示有很大的雷同之处,方便我们的思维。
  还是利用前一天的数据 还是利用前一天的文件。让我们来分别演示这三种方法:
  <1>。DataGrid
    让我们首先将昨天在showNews.aspx中添加的三个动态数据删除掉,做好准备。然后在右侧的操作栏里面选择“服务器行为”面板,然后选择“+”号。在弹出的对话框中选择“数据网格”,然后会弹出“数据网格”对话框。
    ID保持默认即可;数据集选择我们昨天建立的“DataSet1”;显示数据方式你可以自由选择,比如说显示所有记录和或者分页显示数据,在这里我们选择每页显示10条记录,导航选择“编号链接到每一页”;在列中可以添加或者删除你需要或者不需要的列,还可以调整每一列的格式,编辑标题的名字等等!在这里我们简便起见保持默认,然后单击“确定”完成DataGrid1的部署,这样一个DataGrid控件就被部署到了叶面上。我们可以在源代码里看到:
<form runat="server">
  <asp:DataGrid id="DataGrid1"
  runat="server"
  AllowSorting="False"
  AutoGenerateColumns="false"
  CellPadding="3"
  CellSpacing="0"
  ShowFooter="false"
  ShowHeader="true"
  DataSource="<%# DataSet1.DefaultView %>"
  PagerStyle-Mode="NumericPages"
  AllowPaging="true"
  AllowCustomPaging="true"
  PageSize="<%# DataSet1.PageSize %>"
  VirtualItemCount="<%# DataSet1.RecordCount %>"
  OnPageIndexChanged="DataSet1.OnDataGridPageIndexChanged"
>
    <HeaderStyle HorizontalAlign="center" BackColor="#E8EBFD" ForeColor="#3D3DB6" Font-Name="Verdana, Arial, Helvetica, sans-serif" Font-Bold="true" Font-Size="smaller" />
    <ItemStyle BackColor="#F2F2F2" Font-Name="Verdana, Arial, Helvetica, sans-serif" Font-Size="smaller" />
    <AlternatingItemStyle BackColor="#E5E5E5" Font-Name="Verdana, Arial, Helvetica, sans-serif" Font-Size="smaller" />
    <FooterStyle HorizontalAlign="center" BackColor="#E8EBFD" ForeColor="#3D3DB6" Font-Name="Verdana, Arial, Helvetica, sans-serif" Font-Bold="true" Font-Size="smaller" />
    <PagerStyle BackColor="white" Font-Name="Verdana, Arial, Helvetica, sans-serif" Font-Size="smaller" />
    <Columns>
    <asp:BoundColumn DataField="title"
        HeaderText="title"
        ReadOnly="true"
        Visible="True"/>
    <asp:BoundColumn DataField="content"
        HeaderText="content"
        ReadOnly="true"
        Visible="True"/>
    <asp:BoundColumn DataField="addTime"
        HeaderText="addTime"
        ReadOnly="true"
        Visible="True"/>
    </Columns>
  </asp:DataGrid>
</form>


代码读起来并不困难,而且都是DW自动生成的代码,我不再解释,大家自己研究阿
然后在浏览器里面预览一下,呵呵,数据被显示出来了吧

  <2>。DataList
    让我们首先将刚刚在showNews.aspx中添加的DataGrid1控件删除掉,做好准备。然后在右侧的操作栏里面选择“服务器行为”面板,然后选择“+”号。在弹出的对话框中选择“数据列表”,然后会弹出“数据网格”对话框。
    ID保持默认即可;数据集选择我们昨天建立的“DataList1”;显示数据方式我们选择显示10条记录,分别单击页眉、项目(其他的我们省略不写)并相应的“将数据字段添加到内容”在选择“页眉”后在“内容”中输入“新闻列表”;在选择“项目”后在“内容”中输入“<%# DataSet1.FieldValue("title", Container) %><%# DataSet1.FieldValue("addTime", Container) %>”(当然可以通过“将数据字段添加到内容”选项帮助我们自动添加)“组织项”我们简便起见保持默认,然后单击“确定”完成DataSet1的部署,这样一个DataSet控件就被部署到了叶面上。我们可以在源代码里看到:
<form runat="server">
  <asp:DataList id="DataList1"
runat="server"
RepeatColumns="1"
RepeatDirection="Vertical"
RepeatLayout="Flow"
DataSource="<%# DataSet1.DefaultView %>" >
    <HeaderTemplate>新闻列表 </HeaderTemplate>
    <ItemTemplate><%# DataSet1.FieldValue("title", Container) %> <%# DataSet1.FieldValue("addTime", Container) %> </ItemTemplate>
  </asp:DataList>
</form>

 
恩,乍看起来,这个比DataGrid东西少,呵呵就是,不过不要掉以轻心哦,里面还有好多深奥的东东呢!
让我们赶紧浏览一下数据吧,怎么样?是不是有了网站“新闻列表”的风格了,呵呵。
说到这里,是不是有点累了?不过千万别打瞌睡,好戏就要上演了,让我们仔细研究一下这个“Repeater”控件 ;

  <3>。Repeater
    没有接触过.net的朋友听了上面两个控件肯定有点迷茫,但Repeater就不一样了!在说Repeater以前,让我们一起回忆一下在以前的ASP中我们如何来显示循环的数据:
<%
  ''--Code designed by ReTech_DDP_Soft : zidone chang  For ASP3.0
  ''--前面需要创建记录集rs
  while not rs.eof
    Response.Write(rs("title")&"&nbsp;&nbs;"&rs("addTime"))
    rs.MoveNext
  wend
%>


  显示数据的精华是: 只要不到记录集的Eof那么我们将不断的用while循环去读取数据记录,从而显示。
  而在ASP.net Repeater控件中,我们仿佛也看到了这种模式的影子:

<ASP:Repeater runat="server" DataSource='<%# DataSet1.DefaultView %>'>
  <ItemTemplate><%# DataSet1.FieldValue("title", Container) %><%# DataSet1.FieldValue("addTime", Container) %><br>
  </ItemTemplate>
</ASP:Repeater>



  1> DataSource属性给我们定义了使用哪个数据集,就像ASP中我们定义rs数据集(rs.Open sql,conn,1,1)一样
  2> <ASP:Repeater runat="server" DataSource='<%# DataSet1.DefaultView%>'>这句话,看起来好像就是ASP中的<%while not rs.eof%>这句话。
  3> </ASP:Repeater>这句话好像就是 在ASP中的<%rs.MoveNext:wend%>
  4> <ItemTemplate></ItemTemplate>之间我们就可以来写需要重复显示的东西啦~~~就像ASP里面的:<%Response.Write("xxxxx")%>一样,里面可以放置任何形式的HTML代码~~
  5> 不知道大家有没有注意到<%# DataSet1.FieldValue("title", Container) %>这个代码,好像似曾相识吧!呵呵,就是的,前一天中我们的显示数据库内容中用到的“动态文本”概念,
也就是DataSet1的一个字段值,并将其显示出来~~,开动脑筋~~想一想哦~是不是就像在ASP中的<%=Rs("title")%>呢~~~
  呵呵,说到这里是不是有点感觉了~~

  下面我们就动手亲自来操作一下:
  1> “在服务器行为”面板,选择“+”号,在弹出的对话框中选择“动态文本”然后分别将“id”“title”和“addTime”三个字段添加进叶面。好的确定。在叶面addTime字段的后面添加一个水平线,用来数据换行,然后选中要重复的区域(要把水平线一起选中,否则重复的数据将会在一行中全部显示出来)然后再点击服务器行为面板的“+”号,选择“重复区域”,选择“数据集”为“DataSet1”显示“10”条数据,然后确定。保存文档。进行浏览器中预览!
  2> 这就是用Repeater进行数据循环显示的方法,当前状态可以显示10条,当然你需要更改<ItemTemplate>中的代码,让叶面显得更好看~~~
  3> 若数据不能正常输出,注意下面可能的原因:选择重复区域时,注意DataSet的名字一定要选对(对应多DataSet时);还要注意点击“重复区域”前,一定要确保已经选定了要进行重复的内容,切忌哦~~;还有其他的,大家自己去总结吧~~

  总结一下:我们今天说了3种重复区域的方式~~DataGrid、DataList、Repeater。我们比较一下:
  ( a ) 三者DataGrid最好,所支持的属性方法也最丰富,缺点就是深入掌握他们的一些用法比较困难;
  ( b ) DataList处于中间地位,主要用于显示列表,知识一种方法而已,微软的一些官方教程用DataList比较多,偶用的就比较少拉~~;
  ( c ) Repeater说实在的,是我们国人用起来最方便的控件,呵呵,如果不考虑效率的话,如何发挥~~看你自己的了~~
 
  好了,今天就到这里了,希望大家多多支持呀!我才有继续把他写好的信心哦!做个广告先~~明天我们将研究一下,数据更新,添加,删除的方法,不要走开哦~~
  还是那句话:联系方式  http://www.hotide.net/blog  zidone.net@sina.com  Msn:zidone@msn.com
  好了,祝大家晚安,我们明天见~

关于这篇文章的评论 [注意:这里仅仅是给大家提供了一个发表对文章本身看法的地方,如果有疑问,请到论坛提出] 我要提问!
qweqwe        2009/12/29 11:21:00
:)
When you begin wow power leveling your blog the most important warcraft gold thing is having content which is unique, wow power leveling helpful, and well written. This is what will separate wow gold you from others within your niche and will keep people from coming back time and time again. Now it aion power leveling sounds easy to write a post each and every day, but from my aion gold personal experience around the third month is when I get really sick of writing and want a cheap wow power leveling break. Some of the different things I do when not wanting to post is write posts in advance. This can be very buy wow power leveling useful when you want to take a few days off.
lincong        2006/3/28 10:43:00
:)
不错
zelonggao        2005/6/6 13:02:00
:)没人 回复很正常的,
这是人之常情,难免的..

关键是自己做了有意义的事情..自己在创造价值。..

为咱们的社区作出了贡献。..
zelonggao        2005/6/6 13:00:00
:)我会支持你的。..
我河北师范大学的,大四..

希望成为朋友...
标题
内容
发言
*您尚未以注册用户身份登录,不能发表评论。这里登录
您的位置
  (c)2000-2021 Yup Studio, all rights reserved.  
218.75