GridView 前台绑定数据如:在 dataset 中 ,Money字段为 string 类型;在前台显示的时候要判断他的大小显示不同的东西出来,比如:大于500显示OK,小于就显示NO;我是这样写的:
 <asp:Label ID="TxtMoney" runat="server" ForeColor="red" Text='<% int.Parse(#Eval("Money"))>500?"OK":"NO" %>'></asp:Label>但是显示不出来...
请教各位大侠Text 重要该如何写???
在线等...

解决方案 »

  1.   


    <asp:Label ID="TxtMoney" runat="server" ForeColor="red" Text=' <%# int.Parse(Eval("Money"))>500?"OK":"NO" %>'> </asp:Label>
      

  2.   

    楼上有小失误
    <%# Convert.ToInt32(Eval("Money"))>500?"OK":"NO" %>int.Parse的参数需是string
      

  3.   

    恩,1楼是有点错...
    2楼是对的...
    <% Convert.ToInt32(#Eval("Money"))>500?"OK":"NO" %> 
    我把#写在里面去了....
      

  4.   


    <asp:Label ID="TxtMoney" runat="server" ForeColor="red" Text=' <% int.Parse(#Eval("Money"))>500?"OK":"NO" %>'> </asp:Label>可以
    但是建议这种前台绑定的逻辑最好抽离出来,做成单独的处理函数:<asp:Label ID="TxtMoney" runat="server" ForeColor="red" Text=' <% Opertion(#Eval("Money")) %>'> </asp:Label>后台:
    public sting Operation(string parameter)
    {
         int memory=0;
         try
         {
            memory=int.Parse(parameter);
         }
         catch(Exception ex)
         {
          throw new Exception(ex.Message);
         }
         if(memory>500)return "ok";
         return "NO";
    }如果你把想把ok换成"yes" 只用修改一处就搞定。
      

  5.   

    <%# Convert.ToDecimal(Eval("Money"))>500?"OK":"NO" %> //钱应该是有小数的不过首先要确保 Eval("Money") 不为空,在数据层的时候可以考虑用 isnull 做转换