<ItemTemplate>   
      <tr>   
      <td><asp:Image   ID="pic1"   runat="server"/></td>   
      <td><%#   DataBinder.Eval(Container.DataItem, "Title")   %></td>   
      </tr>   
  </ItemTemplate>  
<%
………
string flag =  DataBinder.Eval(Container.DataItem, "Title");
if (flag == "Jack" )
{


}
else
{
……  
}
%> 问string flag =  DataBinder.Eval(Container.DataItem, "Title");会出错 就想得到绑定的值 以下的方法不能用
<%# DataBinder.Eval(Container.DataItem, "Title").ToString()=="Jack"?"<a href=\"……\">asdf</a>":"<a href=\"……\">1234</a>" %> 
如果这种方法能用 怎么给变量赋值 程序只能写在.aspx页中 不能写在.cs页里 请高手给解决。

解决方案 »

  1.   

    很简单的,在要绑定的那个FLAG下加入
    <%# bindFlag(DataBinder.Eval(Container.DataItem, "Title").ToString()) %>其中bindFlag是写在服务器端的函数
    public bool BindFlag(string title)
    {
       。代码。   return true;(或false)}
      

  2.   

    1,用函数
    <asp:TemplateColumn HeaderText="类别" ItemStyle-Width="20%" ItemStyle-HorizontalAlign="Center">
    <ItemTemplate>
    &nbsp;<%# toStr(Container.DataItem("CID"))%>
    </ItemTemplate>
    </asp:TemplateColumn>
        Protected Function toStr(ByVal tmpInt As Integer) As String
            If tmpInt = 0 Then Return "根栏目" : Exit Function
            Return myDB.RecordOne("Category", "Name", tmpInt)
        End Function
    2,直接<asp:TemplateColumn ItemStyle-HorizontalAlign="center" HeaderText="已阅读" ItemStyle-Width="8%">
    <ItemTemplate>
    <%# iif(Container.DataItem("Readed") =1,"是","<font class=red>否</font>")%>
    </ItemTemplate>
    </asp:TemplateColumn>
      

  3.   

    <%# DataBinder.Eval(Container.DataItem, "Title").ToString()=="Jack"?"<a href='……'>asdf</a>":"<a href='……'>1234</a>" %>