<TD align=middle class=forumRow> <%#((DataRowView)Container.DataItem)[8]=="0" ? "<a href=""mailgroupsend.aspx?mailhistoryid=((DataRowView)Container.DataItem)[0]"">继续发</a>" :"已完成"%></TD>请问下大虾,我这样写有什么问题,为什么不对,要怎么样写呢?

解决方案 »

  1.   

    <TD align=middle class=forumRow> <%#((DataRowView)Container.DataItem)[8]=="0" ? "<a href=""mailgroupsend.aspx?mailhistoryid=((DataRowView)Container.DataItem)[0]"">继续发</a>" :"已完成"%></TD>
      

  2.   

    <%#((DataRowView)Container.DataItem)[8]=="0" ? ("<a href='mailgroupsend.aspx?mailhistoryid='"+((DataRowView)Container.DataItem)[0]+">继续发</a>") :"已完成"%>
      

  3.   

    <TD align=middle class=forumRow> <%#((DataRowView)Container.DataItem)[8]=="0" ? "<a href='mailgroupsend.aspx?mailhistoryid=((DataRowView)Container.DataItem)[0]'>继续发</a>" :"已完成"%></TD>
    单引号试试
      

  4.   

    <%#((DataRowView)Container.DataItem)[8]%>  先测试下,看输出的值是多少。
      

  5.   

    在后台写一个protected的方法protected string ShowState(object o8, object o0)
    {
       if(o == null) return "已完成";
       string sTemp = o.ToString();
       if(string.IsNullOrEmpty(sTemp))
         return "已完成";   return sTemp == "0" ? 
       string.Fomat("<a href='mailgroupsend.aspx?mailhistoryid={0}'>继续发</a>", o0)
       : "已完成";
    }
    前台调用
    <TD align=middle class=forumRow> <%# ShowState(((DataRowView)Container.DataItem)[8], ((DataRowView)Container.DataItem)[0]) %></TD>随手敲的,没有测试,你自己试试。
      

  6.   


     <%#GetUrl((DataRowView)Container.DataItem)[8],((DataRowView)Container.DataItem)[0])>--后台测试方法 
    protected string GetUrl(string str1, string str2)
            {
                if (str1.Equals("0"))
                {
                    return string.Format("<a href='mailgroupsend.aspx?mailhistoryid={0}'>继续发</a>", str2);
                }
                return "已完成";
            }调试下
      

  7.   


    不行,“email_mailhistory.GetUrl(string, string)”最匹配的重载方法具有一些无效参数
      

  8.   

    感谢7楼chuzhaowei的回答, 我已经解决了