当前位置:首页 > 网络编程 > WEB编程 > ASP.net >  使用ASP.NET Atlas ListView控件显示列表数据(2)

 使用ASP.NET Atlas ListView控件显示列表数据(2)

点击次数:17 次 发布日期:2008-11-26 14:23:20 作者:源代码网
源代码网推荐      然后,添加一些ASP.NET页面中必须的控件/标记: <atlas:ScriptManager ID="ScriptManager1" runat="server" />
源代码网推荐  <!-- Element for myList (container) -->
源代码网推荐  <div id="myList"></div>
源代码网推荐  <!-- Layout Elements -->
源代码网推荐  <div style="display: none;">
源代码网推荐  </div>
源代码网推荐  在上面的标记中,我们加入了三个标记:一个必须的ScriptManager控件。一个id为myList的div,用来让Atlas把渲染后的ListView放置于这里。一个隐藏的div,用于定义我们的模版。这个隐藏div中的元素在页面上是不可见的,只是用来提供给Atlas必要的模版。
源代码网推荐  
源代码网推荐  我们在这个隐藏的div中加入如下ListView的模版:
源代码网推荐  
源代码网推荐  <!-- Layout Template -->
源代码网推荐  <table id="myList_layoutTemplate" border="1" cellpadding="3">
源代码网推荐   <thead>
源代码网推荐   <tr>
源代码网推荐   <td><span>No.</span></td>
源代码网推荐   <td><span>Name</span></td>
源代码网推荐   <td><span>Email</span></td>
源代码网推荐   </tr>
源代码网推荐   </thead>
源代码网推荐   <!-- Repeat Template -->
源代码网推荐   <tbody id="myList_itemTemplateParent">
源代码网推荐   <!-- Repeat Item Template -->
源代码网推荐   <tr id="myList_itemTemplate">
源代码网推荐   <td><span id="lblIndex" /></td>
源代码网推荐   <td><span id="lblName" /></td>
源代码网推荐   <td><span id="lblEmail" /></td>
源代码网推荐   </tr>
源代码网推荐   <!-- Separator Item Template -->
源代码网推荐   <tr id="myList_separatorTemplate">
源代码网推荐   <td colspan="3">Separator</td>
源代码网推荐   </tr>
源代码网推荐   </tbody>
源代码网推荐  </table>
源代码网推荐  <!-- Empty Template -->
源代码网推荐  <div id="myList_emptyTemplate">
源代码网推荐   No Data
源代码网推荐  </div>
源代码网推荐  
源代码网推荐  上面的代码中您可以看到我提到的所有四种模版。另外还要指定每一个模版一个id,将用于下面的Atlas脚本声明中。在这个例子中我将以HTML Table的形式渲染这个ListView,很抱歉分隔元素将会很丑陋(一个空行)。
源代码网推荐  
源代码网推荐  最后在页面中添加Atlas脚本声明:
源代码网推荐  
源代码网推荐  <dataSource id="listDataSource" autoLoad="true" serviceURL="MyService.asmx" />
源代码网推荐  
源代码网推荐  <listView id="myList" itemTemplateParentElementId="myList_itemTemplateParent">
源代码网推荐   <bindings>
源代码网推荐   <binding dataContext="listDataSource" dataPath="data" property="data" />
源代码网推荐   </bindings>
源代码网推荐   <layoutTemplate>
源代码网推荐   <template layoutElement="myList_layoutTemplate" />
源代码网推荐   </layoutTemplate>
源代码网推荐   <itemTemplate>
源代码网推荐   <template layoutElement="myList_itemTemplate">
源代码网推荐   <label id="lblIndex">
源代码网推荐   <bindings>
源代码网推荐   <binding dataPath="$index" transform="Add" property="text"/>
源代码网推荐   </bindings>
源代码网推荐   </label>
源代码网推荐   <label id="lblName">
源代码网推荐   <bindings>
源代码网推荐   <binding dataPath="Name" property="text" />
源代码网推荐   </bindings>
源代码网推荐   </label>
源代码网推荐   <label id="lblEmail">
源代码网推荐   <bindings>
源代码网推荐   <binding dataPath="Email" property="text" />
源代码网推荐   </bindings>
源代码网推荐   </label>
源代码网推荐   </template>
源代码网推荐   </itemTemplate>
源代码网推荐   <separatorTemplate>
源代码网推荐   <template layoutElement="myList_separatorTemplate" />
源代码网推荐   </separatorTemplate>
源代码网推荐   <emptyTemplate>
源代码网推荐   <template layoutElement="myList_emptyTemplate"/>
源代码网推荐   </emptyTemplate>
源代码网推荐  </listView>
源代码网推荐  
源代码网推荐  这里我添加了一个Atlas客户端DataSource对象以从Web Service中取得数据。这里我们暂且不多谈DataSource(可能在后续文章中有所介绍)。让我们来看一下ListView相关的定义:在ListView的定义中,我们指定了itemTemplateParentElementId属性。然后在ListView的内部定义了一个binding段,用来把DataSource中取得的数据与这个ListView绑定起来。我们还定义了四个模版段,每个模版段都用layoutElement与上面定义过的四种模版关联。注意到在layoutTemplate模版中的第一个label控件,我们在其绑定中指定了一个Add transformer以将从0开始的顺序变为从1开始(关于Atlas Transformer,请参考我的这篇文章:http://dflying.cnblogs.com/archive/2006/04/05/367908.html)。
源代码网推荐  
源代码网推荐  大功告成,运行一下吧。
源代码网推荐    做人要厚道,请注明转自酷网动力(www.ASPCOOL.COM)。
源代码网推荐


源代码网供稿.
网友评论 (0)
会员中心
网络编程
本站推荐
网络编程之精华