<asp:Panel ID="fac" runat="server" Visible='<%# Eval("ReplyUserId").ToString()==this.UserId.ToString() || IsAdmin==true %>'>  
</asp:Panel>
 Eval("ReplyUserId").ToStrin()this.UserId.ToString() 
 IsAdmin==true 
这些都可以正常获得值
 但运行后访问 
 编译错误
说明: 在编译向该请求提供服务所需资源的过程中出现错误。请检查下列特定错误详细信息并适当地修改源代码。编译器错误消息: BC30201: 应为表达式。源错误:行 107:                                </ul>
行 108:                            </div>
行 109:                            <asp:Panel ID="fac" runat="server" Visible='<%# Eval("ReplyUserId").ToString()==this.UserId.ToString() || IsAdmin==true %>'>                           
行 110:                                <div class="div_DiscussRight a_bg3b5998">
行 111:                                    <ul>

解决方案 »

  1.   

    <asp:Panel ID="fac" runat="server" Visible=' <%# Eval("ReplyUserId").ToString()==this.UserId.ToString() || IsAdmin==true %>'> 
    </asp:Panel> 你的这个panel是在gridview/datalist/repeater里吗?
    如果不在的话,不能使用<%%>
      

  2.   

    应该是这句出错的很怪耶,这一句?<%# Eval("ReplyUserId").ToString()==this.UserId.ToString() || IsAdmin==true %>像是if语句,不像赋值
      

  3.   

    <%# if(Eval("ReplyUserId").ToString().Equals(this.UserId.ToString()) || IsAdmin==true)true else false %> 不好意思,我对这个也不熟,试一下这个,要不然自己慢慢调吧,我之前这些代码都是慢慢调出来的耶。
      

  4.   

    把<asp:Panel 改成客户端控件试试
      

  5.   

    可以把方法写在后台调用 返回FALSE、TRUE---------  protected