关于三元符嵌套的问题..求助啊..

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里的原因. 然后显示审核失败 


最终结果显示支付成功:审核失败






作者: jess0224   发布时间: 2011-06-15

可能想法错了.请教下!如何实现这种功能.

最后页面上会显示 支付成功  

或者 审核失败 失败原因

作者: jess0224   发布时间: 2011-06-15

三元会用了吗?

作者: wxr0323   发布时间: 2011-06-15

引用楼主 jess0224 的回复:
<%# 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>


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

作者: Lisliefor   发布时间: 2011-06-15

引用 3 楼 lisliefor 的回复:

引用楼主 jess0224 的回复:
<%# Convert.ToInt32(Eval("isCancel"))==0 ? "<a href='UserDrawalList.aspx?Action=Cancel&amp;UDid="+Eval("ud_id")+"' title='点击进行取消'>[ 取消 ]</a>":""%>
<%# Convert.ToInt32(Eval("isPay……

后台三元。。

作者: wxr0323   发布时间: 2011-06-15

你要是嵌套 套晕了 就直接 用方法在后台处理  

 

作者: fengyarongaa   发布时间: 2011-06-15

神啊....是嵌套套晕了...

作者: jess0224   发布时间: 2011-06-15

引用 6 楼 jess0224 的回复:

神啊....是嵌套套晕了...

..........

作者: wxr0323   发布时间: 2011-06-15

子夜 老兄..帮忙改一下吧..或者给个思路也行啊.

作者: jess0224   发布时间: 2011-06-15

没人了吗..郁闷中

自己想去吧

作者: jess0224   发布时间: 2011-06-15

你这个写的有问题

<%# 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>"%>

作者: wxr0323   发布时间: 2011-06-15

这个写人不晕才怪,自己在 .cs里写一个全局的方法public string getBnt(int isCancel,int isAudit,int isPay )

前台调用
<%# getBnt(Convert.ToInt32(Eval("isCancel")),Convert.ToInt32(Eval("isAudit")),Convert.ToInt32(Eval("isPay ")))%>

这样不是挺清爽的吗

作者: liuchaolin   发布时间: 2011-06-15

C# code
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 = "支付成功";
            }
        }


前台HTML code
<%# Check(Eval("isPay")) %>


作者: wxr0323   发布时间: 2011-06-15

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

作者: wxr0323   发布时间: 2011-06-15

点击支付的时候把isPay更新为1 绑定

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

作者: wxr0323   发布时间: 2011-06-15