1. 使用模板显示数据
另外两个数据显示控件是Repeater 和 DataList,要求使用模板来格式化要显示的数据。模板在ASP.NET中是HTML的参数化部分,用作某些控件的输出元素。它们可以定制如何将数据输出到浏览器上,不需要作太多的工作就可以得到专业级的显示结果。
有几个模板可用于定制列表的各个方面。对于Repeater 和 DataList来说,一个重要的模板是,它可以用于显示每个数据项。在控件声明中声明这个模板(和其他模板),例如:
...
在模板声明中,一般是输出HTML的部分内容,参数是绑定到控件的数据。在输出这些参数时,应使用一种特殊的语法:
<%# expression %>
expression 是把参数绑定到页面或控件属性上的一个表达式,但它常常是由一个DataBinder.Eval()表达式组成。通过指定表中的列,这个函数可以从绑定到控件的表中输出数据,这可以使用下面的语法来实现:
<%# DataBinder.Eval(Container.DataItem, "ColumnName") %>
还有第三个可选参数,可以格式化返回的数据,它的语法与其他地方使用的字符串格式化表达式相同。表25-6列出了可用的模板以及它们的用法。
| 模 板 |
说 明 |
| |
列表项目使用的模板 |
| |
列表前输出内容使用的模板 |
| |
列表后输出内容使用的模板 |
| |
列表中项目之间使用的模板 |
| |
其他项目使用的模板,有助于查看 |
| |
(只用于DataList) 列表中所选项目使用的模板 |
| |
(只用于DataList)用于列表中正在编辑的项目的模板 |
表 25-6
说明: 了解模板最简单的方式是使用一个示例,这可以在PCSWebApp3中使用现有的数据查询来完成。
2. 使用模板的示例
在页面的顶部扩展表格,使之包含一个DataList,显示存储在数据库中的每个会议。使这些会议成为可选择的,这样单击每个会议的名称,就可以显示它们的信息。
修改PCSWebApp3项目的WebForm1.aspx中的代码:
HeaderText="Before submitting your request:"/>
|
OnSelectedIndexChanged=
"eventDetails2_SelectedIndexChanged">
CommandFTEL="Select"
ForeColor="#0000ff"
ID="Linkbutton1"
CausesValidation="false">
<%# DataBinder.Eval(Container.DataItem,
"Name")%>
<%# DataBinder.Eval(Container.DataItem,
"Name") %>
|
Font-FTEL="Arial" Font-Bold="True"
Font-Italic="True" Font-Size="14">
Select an event to view details.
|
|
|