模板和数据绑定表达式

几乎所有的数据绑定控件都支持模板(template)。

显示数据时,可以用模板来格式化每个数据项的布局和外观

通过模板,可以使用数据绑定表达式来显示数据项的值

 

使用模板

(除TreeView外)2.0中的数据绑定控件都支持模板。

Repeater、DataList、FormView必须使用模板显示数据。

GridView、DetailsView、Menu等支持模板,但不是必须使用。

 

模板中可以包含

  • HTML
  • 数据绑定表达式
  • 其他控件

示例:超链接列表

<%@ Page Language="VB" %>

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

<script runat="server">

</script>

<html xmlns="http://www.w3.org/1999/xhtml">
<head runat="server">
    <title>显示链接</title>
</head>
<body>
    <form id="form1" runat="server">
    <div>
        <asp:Repeater ID="Repeater1" runat="server" DataSourceID="srcMovies">
        <ItemTemplate>
            <asp:HyperLink ID="HyperLink1" runat="server" NavigateUrl='<%#eval("id","details.aspx?id={0}") %>'> <%#Eval("title") %> </asp:HyperLink>
            <br/>
        </ItemTemplate>
        </asp:Repeater>
    
        <asp:SqlDataSource ID="srcMovies"
        ConnectionString="data source=.\sqlexpress;integrated security=true;user instance=true;attachdbfilename=|datadirectory|mydatabase.mdf"
        SelectCommand="select id,title from movies"
        runat="server" />
    </div>
    </form>
</body>
</html>
<%@ Page Language="VB" %>

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

<script runat="server">

</script>

<html xmlns="http://www.w3.org/1999/xhtml">
<head runat="server">
    <title></title>
</head>
<body>
    <form id="form1" runat="server">
    <div>
    <asp:GridView ID="gv1" DataSourceID="srcMovies" runat="server">
    </asp:GridView>    
    
    <asp:SqlDataSource ID="srcMovies"
    ConnectionString="data source=.\sqlexpress;integrated security=true;user instance=true;attachdbfilename=|datadirectory|mydatabase.mdf"
    SelectCommand="select title,director from movies where id=@mid"
    runat="server" >
        <SelectParameters>
            <asp:QueryStringParameter Name="mid" Type="Int32" QueryStringField="id" />
        </SelectParameters>
    </asp:SqlDataSource>
    </div>
    </form>
</body>
</html>

 

使用数据绑定表达式

数据绑定表达式,直到运行时才计算出结果。

(在页面中使用)只要将表达式包含在<%# %>符号中

数据绑定表达式在控件的DataBinding事件触发时才开始计算值。

对于【声明式数据绑定】这个事件是自动触发的

对于【编程式数据绑定】事件在调用DataBind方法时触发

posted @ 2012-04-09 10:18  怒杀神  阅读(330)  评论(0编辑  收藏  举报