sql code:
isCancel 1取消:0
isAudit 1审核:0未审核
isPay 1支付:0未支付
三元符放在datalist里
td>
                  
                   <%# Convert.ToInt32(Eval("isCancel"))==0 ? "<a href='UserDrawalList.aspx?Action=Cancel&UDid="+Eval("ud_id")+"' title='点击进行取消'>[ 取消 ]</a>":""%>  
                  <%# Convert.ToInt32(Eval("isPay"))==1?"<font color='#009900'>支付成功</font>": Convert.ToInt32(Eval("isAudit")) == 0 ? "<a href='UserDrawalList.aspx?Action=Audit&UDid=" + Eval("ud_id") + "' onclick='return AuditFun()' title='点击进行审核'>  [ 审核 ]</a>" : "<a href='UserDrawalList.aspx?Action=Pay&UDid=" + Eval("ud_id") + "' onclick='return AuditFun()' title='点击进行支付'>[ 支付 ]</a>"%>
                 </td><td ><%# Convert.ToInt32(Eval("isCancel")) == 0 ? "<input type='text'  id='txtCancel' />" : "" + Eval("CancelText") + ""%> </td>
取消:审核   ->  点审核                     ==                  取消:支付  -->点支付   显示:支付成功
          ->点取消  必须要先填txtCancel里的原因. 然后显示审核失败      :    点取消: 必须要先填txtCancel里的原因.  然后显示审核失败 
最终结果显示支付成功:审核失败

解决方案 »

  1.   


    为啥一定用三元呢?
    写个if else,嵌套一下就好了,三元的嵌套是在是让阅读者费脑子,虽然,可能你看起来觉得有“技术含量”,不喜欢看这种代码,给自己找麻烦,也是给后来的维护者找麻烦。
      

  2.   

     你这个写的有问题<%# Convert.ToInt32(Eval("isPay"))==1?"<font color='#009900'>支付成功</font>": Convert.ToInt32(Eval("isAudit")) == 0 ? "<a href='UserDrawalList.aspx?Action=Audit&UDid=" + Eval("ud_id") + "' onclick='return AuditFun()' title='点击进行审核'> [ 审核 ]</a>" : "<a href='UserDrawalList.aspx?Action=Pay&UDid=" + Eval("ud_id") + "' onclick='return AuditFun()' title='点击进行支付'>[ 支付 ]</a>"%>
      

  3.   

    这个写人不晕才怪,自己在 .cs里写一个全局的方法public string getBnt(int isCancel,int isAudit,int isPay )前台调用
    <%# getBnt(Convert.ToInt32(Eval("isCancel")),Convert.ToInt32(Eval("isAudit")),Convert.ToInt32(Eval("isPay ")))%>这样不是挺清爽的吗
      

  4.   

    public string Check(string ispay)
            {
                string msg = string.Empty;
                //string isCancel = "";//1取消:0
                //string isAudit = "";//1审核:0未审核
                //string isPay = "";//1支付:0未支付
                //数据库中的数据 不可能同事为 1  1  就是即审核 又支付了
                // 1,0  和0 和1 组合
                //其实一个isPay就可以搞定了            if (isPay == "0")
                {
                    msg = "审核失败";
                }
                else
                {
                    msg = "支付成功";
                }
            }前台<%# Check(Eval("isPay")) %>
      

  5.   

    <%# Check(Eval("isPay").ToString()) %>
      

  6.   

    点击支付的时候把isPay更新为1 绑定点击取消的时候把isPay更新为0 绑定。