为什么Visible ='<%#false%>'可以在GridView上工作但不能在标签上工作?

PBG*_*PBG 2 asp.net label gridview visible

我对此感到头疼,但不知道问题是什么.我的实际代码是

<asp:Label ID="Label1" runat="server" Text="abc"
           Visible='<%#Request.QueryString["ListName"] == null %>' />
<asp:GridView ID="gvLists" runat="server"
              Visible='<%#Request.QueryString["ListName"] == null %>' />
Run Code Online (Sandbox Code Playgroud)

正如您所看到的,我试图仅通过查询字符串来驱动对象的可见性.它适用于GridView,但不适用于标签.我也尝试过使用相同结果的Panel和HyperLink.

我相信我可以通过将我的代码放在代码隐藏中来实现这一点,但它不会那么干净.

Nak*_*nch 5

<%#%>仅适用于数据绑定项.

你需要把它改成<%=%>(注意"=")