我在datagrid某一模版列放一个超链接,用来链接打开文件的,数据库字段filename是放文件名的,我想实现的效果是
如果没文件名的话,也就是文件不存在,字段filename就付值为nofile,链接就失效,存在的话就取字段fiename的文件名,打开。我下面的代码为什么filename判断不了等于nofile,直接执行:号后面的语句了, 数据库的字段filename的值明明是nofile的。
 <A  href='<%# DataBinder.Eval(Container.DataItem,"filename")=="nofile"?"#":file_path.Trim()%><%# DataBinder.Eval(Container.DataItem,"filename") %>'> 

解决方案 »

  1.   

    代码是这样的,上面那个加了颜色,大家帮帮我吧!
     <A  href='<%# DataBinder.Eval(Container.DataItem,"filename")=="nofile"?"#":file_path.Trim()%><%# DataBinder.Eval(Container.DataItem,"filename") %>'> 
      

  2.   

    <td>
    <%#Eval("filename").ToString()== "nofile"? <A  href=\"#\" : "<a href="+ Eval("filename")%> />
    </td>
    试试这个
      

  3.   


    <%#Eval("filename").ToString()== "nofile"? "<A  href=\"#\"" : "<a href="+ Eval("filename")%> />
    有些双引号,你自己再调调吧,这样应该问题不大
      

  4.   

    <a href='<%#Eval("filename").tostring()=="nofile"? "#":Eval("filename").tostring()%>'>链接说明</a>
      

  5.   

    顶这个 
    另外你可以用一个后台方法 不用三目运算符<a href='<%# getUrl(Eval("filename").tostring%)'>链接说明</a>
    protected string getUrl(object v)
    {
    if(v.ToString().trim() != "nofile")
    {
    return "url地址";
    }
    else
    {
    return "#";
    }
    }
      

  6.   

    这样试试:
    <a href='<%# (DataBinder.Eval(Container.DataItem,"filename").ToString()=="nofile")?"#":"file_path.Trim()" %>'> <%# DataBinder.Eval(Container.DataItem,"filename")%></a>
      

  7.   

    这样试试:
    <a href='<%# (DataBinder.Eval(Container.DataItem,"filename").ToString()=="nofile")?"#":"file_path.Trim()" %>'> <%# DataBinder.Eval(Container.DataItem,"filename")%></a>
      

  8.   

    <a href='<%# DataBinder.Eval(Container.DataItem,"filename").ToString().Equals("nofile")?"#":DataBinder.Eval(Container.DataItem,"filename").ToString() %>'> <%# DataBinder.Eval(Container.DataItem,"filename")%></a>
    或<%# DataBinder.Eval(Container.DataItem,"filename").ToString().Equals("nofile")?"":"<a href='"+DataBinder.Eval(Container.DataItem,"filename").ToString() +"'/>"%>