venshop_basket (购物车表)里 有一个字段isp(是否是礼包  0 是礼包  1不是礼包)在绑定的时候 要判断购物车里的商品是否是礼包 
if(Eval("isp")=="1")  
  <a href='<%# string.Format("../views.aspx?hw_id={0}",Eval("hw_id")) %>' target="_blank"><%#Eval("hw_name")%></a>
 <% }else{%>
  <a href='<%# string.Format("../Page.aspx?p_id={0}",Eval("hw_id")) %>' >
      <%#Eval("hw_name")%>
</a>
 <% } %>这样写报错,具体应该如何写?

解决方案 »

  1.   

    报什么错?
    Eval绑定的应该是实体类的属性名而不是字段名!
      

  2.   


    我后面有一个<a></a>超链接  ,放在?后面会报错
      

  3.   

    <%if(Convert.ToString(Eval("isp"))=="1")%>
      <a href='<%# string.Format("../views.aspx?hw_id={0}",Eval("hw_id")) %>' target="_blank"><%#Eval("hw_name")%></a>
     <% }else{%>
      <a href='<%# string.Format("../Page.aspx?p_id={0}",Eval("hw_id")) %>' >
          <%#Eval("hw_name")%>
    </a>
     <% } %>
      

  4.   

    试下(没测试过)
    前台:
          <a href='<%=GoUrlByIsp(Eval("isp").ToString(),Eval("hw_id").ToString(),Eval("p_id").ToString()) %>' target="_blank"><%#Eval("hw_name")%></a>
    后台:
     public string GoUrlByIsp(string isp, string hw_id, string p_id)
        {
            if (isp == "1")
                return "views.aspx?hw_id=" + hw_id;
            else
                return "Page.aspx?p_id=" + p_id;
        }
      

  5.   

    可以用1=1?2:3,这种表达式,
    如<%# Eval("aa")=="00"?Response.Write(aa):Response.Write("bb")%>
    这样做,我用过,是可以通过的.
      

  6.   


    试了 最后页面上显示的是产品名称 商品单价 销售数量 价格合计 
    <a href=' 
      

  7.   

    <%#Eavl("isp").ToString()=="0"?"礼包":"非礼包"%>
      

  8.   

    if(Eval("isp")=="1")  改if(Eval("isp").ToString()=="1")  
      

  9.   

    if(Eval("isp")=="1")  改 <%if(Eval("isp").ToString()=="1") {%> 
      

  10.   


    这样写 会报错:Eval()、XPath() 和 Bind() 这类数据绑定方法只能在数据绑定控件的上下文中使用。
      

  11.   

    不行就搞个服务器 HyperLink  后台操作吧
      

  12.   

    <%# Eval("aa").ToString()=="00"?"<a></a>":"<a></a>"%> 
    楼主看这样行么?
      

  13.   


    前台: 
          <a href=' <%=GoUrlByIsp(Eval("isp").ToString(),Eval("hw_id").ToString(),Eval("p_id").ToString()) %>' target="_blank"> <%#Eval("hw_name")%> </a> 
    后台: 
    public string GoUrlByIsp(string isp, string hw_id, string p_id) 
        { 
            if (isp == "1") 
                return "views.aspx?hw_id=" + hw_id; 
            else 
                return "Page.aspx?p_id=" + p_id; 
        } 
    运行页面上显示:产品名称 商品单价 销售数量 价格合计 
    <a href=' 
      

  14.   

    搞定。 谢谢各位的解答<a href='<%# ReturnUrl(Eval("isp").ToString(),Eval("hw_id").ToString()) %>' target="_blank" ><%# Eval("hw_name")%></a> public string ReturnUrl(string isp,string id)
        {
            string url="";
            if (isp == "0")
                url= "../views.aspx?hw_id=" + id;
            else if (isp == "1")
                url= "../Page.aspx?p_id="+id;        return url;
        }狂晕 ,开始在引用的时候 是<a href='<% ReturnUrl(Eval("isp").ToString(),Eval("hw_id").ToString()) %>' 掉了  #  应该是<a href='<%#