实现用户登录后才显示产品价格,其中产品价格和一些其它产品参数(如产品名称,产品简介等)放在datalist中<asp:datalist id="Dtlist_prod" runat="server" RepeatColumns="2" RepeatDirection="Horizontal" DataKeyField="Pdt_id">
<ItemTemplate>
<TABLE id="Table11" height="120" cellSpacing="0" cellPadding="0" width="225" border="0">
<TR>
<TD align="center" width="120" height="120"><A title='产品名称:<%# trim(container.dataitem("Pdt_name")) %>&#13;&#10;单价:<%# container.dataitem("Pdt_mmprice") %>&#13;&#10;库存量:<%# container.dataitem("Pdt_number") %>&#13;&#10;产品类型:<%# trim(container.dataitem("Ptt_name")) %>' href='ReadProd.aspx?Pdt_id=<%# container.dataitem("Pdt_id") %>'><IMG height=120 src='upimg/<%# trim(container.dataitem("Pdt_smlimg")) %>' width=120 border=0></a> </TD>
<TD width="105" height="120">
<TABLE id="Table3" cellSpacing="0" cellPadding="0" width="160" border="0">
<TR>
<TD height="20">&nbsp;&nbsp;新品:
<asp:Image id=Image1 runat="server" ImageUrl="imgs/new.gif" Visible='<%# NewImg(container.dataitem("Pdt_new")) %>'>
</asp:Image></TD>
</TR>
<TR>
<TD height="16">&nbsp;&nbsp;名称:<A title='产品名称:<%# trim(container.dataitem("Pdt_name")) %>&#13;&#10;单价:<%# container.dataitem("Pdt_mmprice") %>&#13;&#10;库存量:<%# container.dataitem("Pdt_number") %>&#13;&#10;产品类型:<%# trim(container.dataitem("Ptt_name")) %>' href='ReadProd.aspx?Pdt_id=<%# container.dataitem("Pdt_id") %>'><%# left(trim(container.dataitem("Pdt_name")),6) %>..</A></TD>
</TR>  <TR>
<TD height="16">&nbsp;&nbsp;单价:<%# container.dataitem("Pdt_mmprice") %></TD>
</TR>
<TR>
<TD height="16">&nbsp;&nbsp;类型:<%# left(trim(container.dataitem("Ptt_name")),8) %></TD>
</TR>
<TR>
<TD align="center" height="25">
<asp:Button id="Button_buy" runat="server" CommandName="Bt_buy" CssClass="bt2" Text="购买"></asp:Button>
<asp:Button id="Button_collection" runat="server" CommandName="Bt_collection" CssClass="bt2"
Text="收藏"></asp:Button>&nbsp;<INPUT class="bt2" type="button" value="查看" onclick='javascript:BuyShow(<%# container.dataitem("Pdt_id") %>);'></TD>
</TR>
</TABLE>
</TD>
</TR>
</TABLE>
</ItemTemplate>
  </asp:datalist>

解决方案 »

  1.   

    TR>
    <TD height="16">&nbsp;&nbsp;单价:<asp:Label ID="lblPrice" runat="server" Text='<%# container.dataitem("Pdt_mmprice") %>' /></TD>
    </TR>protected void Dtlist_prod_ItemDataBound(object sender, DataListItemEventArgs e)
        {
       Label lbl = Dtlist_prod.FindControls("lblPrice");
           if(IsLogin())
    {
       lbl.Visible = true;
    }
    else
    {
    lbl.Visible = false;
    }
        }
      

  2.   

    请问,我把它写成vb.net 代码是不是这样子
    Protected  Sub Dtlist_prod_ItemDataBound(ByVal sender As Object, ByVal e As DataListItemEventArgs)
       Dim lbl As Label =  Dtlist_prod.FindControls("lblPrice") 
           If IsLogin() Then
       lbl.Visible = True
           Else 
    lbl.Visible = False
           End If
    End Sub
      

  3.   

    现在有这个错误信息,帮忙分析一下,谢谢!!编译器错误信息: BC30456: “FindControls”不是“System.Web.UI.WebControls.DataList”的成员。源错误: 行 7:  
    行 8:      Protected Sub Dtlist_prod_ItemDataBound(ByVal sender As Object, ByVal e As System.Web.UI.WebControls.DataListItemEventArgs)
    行 9:          Dim lbl As Label = Dtlist_prod.FindControls("lblPrice")
    行 10:         If IsLogin() Then
    行 11:             lbl.Visible = True
     
      

  4.   

    Dim lbl As Label = Dtlist_prod.FindControls("lblPrice")
    ------>Dim lbl As Label = e.Item.FindControls("lblPrice")
      

  5.   

    很感谢大家帮忙,问题已经解决,现在我想用session来判断,请问为什么会出现下面错误编译器错误信息: BC30311: 类型“System.Web.SessionState.HttpSessionState”的值无法转换为“Boolean”。源错误: 行 8:      Protected Sub Dtlist_prod_ItemDataBound(ByVal sender As Object, ByVal e As System.Web.UI.WebControls.DataListItemEventArgs)
    行 9:          Dim lbl As Label = e.Item.FindControl("lblPrice")
    行 10:         if(Session["UserInfo"]==null) Then
    行 11:             lbl.Visible = True
    行 12:         Else源文件: C:\Documents and Settings\ruihui\桌面\bk\Product.aspx    行: 10  
      

  6.   

    Protected Sub Dtlist_prod_ItemDataBound(ByVal sender As Object, ByVal e As System.Web.UI.WebControls.DataListItemEventArgs)
            Dim lbl As Label = e.Item.FindControl("lblPrice")
            If (Session("Mt_mbName") <> Nothing) Then
                lbl.Visible = True
            Else
                lbl.Visible = False
            End If
        End Sub
    是这样的
    很感谢大家