日期:2013-10-17  浏览次数:20397 次

你首先要明确一个概念,DataNavigateUrlFormatString其实是执行一个函数,他要得到的是一个字符串,所以在上午的帖子中,我建议您用<%= %>,而不是<%%>,再有您可以自己写一个函数用<%# %>调用
下面是我写的一个例子
<asp:DataList id="TopicList" width="98%" ItemStyle-Cssclass="Normal" DataKeyField="ItemID" runat="server" EnableViewState="False" OnItemCommand="TopicList_Select">
    <ItemTemplate>        
    <asp:ImageButton id="btnSelect" ImageUrl='<%# NodeImage((int)DataBinder.Eval(Container.DataItem, "TotalChild")) %>' CommandName="select" runat="server" />
    <img border=0 src="<%# FormatFace((string)DataBinder.Eval(Container.DataItem, "Face")) %>" />
    <asp:hyperlink Text='<%# DataBinder.Eval(Container.DataItem, "Title") %>' NavigateUrl='<%# FormatUrl((int)DataBinder.Eval(Container.DataItem, "ItemID")) %>' Target="_new" runat="server" />
    , 由
    <%# DataBinder.Eval(Container.DataItem,"CreatedByUser") %>
    帖于
    <%# DataBinder.Eval(Container.DataItem,"CreatedDate", "{0:g}") %>
    【<%# DataBinder.Eval(Container.DataItem,"Bytes") %>Bytes】
    (<%# DataBinder.Eval(Container.DataItem,"TotalChild") %>)    
    </ItemTemplate>
    <SelectedItemTemplate>
        <asp:ImageButton id="btnCollapse" ImageUrl="~/images/minus.gif" runat="server" CommandName="collapse" />
        <img border=0 src="<%# FormatFace((string)DataBinder.Eval(Container.DataItem, "Face")) %>" />
    <asp:hyperlink Text='<%# DataBinder.Eval(Container.DataItem, "Title") %>' NavigateUrl='<%# FormatUrl((int)DataBinder.Eval(Container.DataItem, "ItemID")) %>' Target="_new" runat="server" />
        , 由
        <%# DataBinder.Eval(Container.DataItem,"CreatedByUser") %>
        帖于
        <%# DataBinder.Eval(Container.DataItem,"CreatedDate", "{0:g}") %>
    【<%# DataBinder.Eval(Container.DataItem,"Bytes") %>Bytes】
    (<%# DataBinder.Eval(Container.DataItem,"TotalChild") %>)    
        <asp:DataList id="DetailList" ItemStyle-Cssclass="Normal" datasource="<%# GetThreadMessages() %>" runat="server">
            <ItemTemplate>
                <%# Indent((Int16)(DataBinder.Eval(Container.DataItem, "Layer"))) %>
        <img src=http://www.163design.net/n/a/"<%=Request.ApplicationPath%>/images/1x1.gif" height="15">
        <img border=0 src="<%# FormatFace((string)DataBinder.Eval(Container.DataItem, "Face")) %>" />