在前台页面的datalist中 怎么能对一个字段的值进行比较
       标的字段 name   ,  sex ,   age...
                 zhang    male     18
                 wang     female   19
                 li        male    20
                 ....
            <ASP:DATALIST id="DataList1" runat="server"  >     <ItemTemplate>
                 <%if(在这里判断  sex 的值   )
                    { %>
                        <%#DataBinder.Eval(Container.DataItem,"name")%>              <% }
                  else
                     {%>
                      <%#DataBinder.Eval(Container.DataItem,"age")%>            <%}%>
                      </td>
     </ItemTemplate>
</ASP:DATALIST>

解决方案 »

  1.   

    别用if....else了假设你的sex字段格式是bool,则下面的代码可将true转换为“男”,false转换为“女”
    c#
    <ItemTemplate>
    <asp:Label runat="server" Text='<%# ((bool)DataBinder.Eval(Container, "DataItem.sex"))?"男":"女" %>'></asp:Label>
    </ItemTemplate>vb.net
    <ItemTemplate>
    <asp:Label runat="server" Text='<%# iif(DataBinder.Eval(Container, "DataItem.sex"),"男","女") %>'></asp:Label>
    </ItemTemplate>
      

  2.   

        to: cncxz(虫虫)       (bool)DataBinder.Eval(Container, "DataItem.sex") 有问题          bool.Parse(string)”最匹配的重载方法具有一些无效参数      sex字段值 "false" varchar       
      

  3.   


        我想用 sex 作为标志字段,从而控制显示超链接或label  (弱国是会员sex为真,显示超链接,从而区分会员与非会员所具有的功能)
      

  4.   

    你的sex字段是什么格式的? 你现在设置的好象是 varchar,这样直接转换成bool会出错如果用sql数据库得设置成bit格式access好象是 “是/否” 具体忘记了,你进去看看就明白要是不想改格式,就直接判断他的具体值也可以=========你可以把具体调用代码发上来看看
      

  5.   

    如果Session["Role"] 不为空, 所有条目都有链接
    Session["Role"] 为空时(未登录),只有flag为true 的条目显示超链接<ItemTemplate>
        <% if(Session["Role"] != null )  //判断是否已登录,在这里我想加上对flag的判断    //if((Convert.ToBoolean(DataBinder.Eval(Container.DataItem,"flag")))==false) 这样写不行      {%>         <a  href='price_list.aspx>  //有链接
             <%# (Convert.ToBoolean(DataBinder.Eval(Container.DataItem,"mytext")))%>
           </a>
        <%}
         else
        {%>    //没有链接
             <a ><%#DataBinder.Eval(Container.DataItem,"mytext")%></a>
        <%}%>
    </ItemTemplate>
      

  6.   

    <ItemTemplate>
    <a  href='<%# ((bool)DataBinder.Eval(Container, "DataItem.flag")||(bool)(Session["Role"] != null))?" href=price_list.aspx ":" " %>' ><%#DataBinder.Eval(Container.DataItem,"mytext")%></a>
    </ItemTemplate>
      

  7.   


     多谢虫虫,果然高手
    整理了一下
    <a  <%# (Convert.ToBoolean(DataBinder.Eval(Container.DataItem,"flag")))==false||(bool)(Session["Role"] != null)?"href=price_list.aspx ":"" %> ><%#DataBinder.Eval(Container.DataItem,"mytext")%></a>