2

我正在为此挠头,但不知道问题出在哪里。我的实际代码是

<asp:Label ID="Label1" runat="server" Text="abc"
           Visible='<%#Request.QueryString["ListName"] == null %>' />
<asp:GridView ID="gvLists" runat="server"
              Visible='<%#Request.QueryString["ListName"] == null %>' />

如您所见,我试图只使对象的可见性由查询字符串驱动。它适用于 GridView,但不适用于标签。我还尝试了 Panel 和 HyperLink,结果相同。

我确信我可以通过将我的代码放在代码隐藏中来完成这项工作,但它不会那么干净。

4

3 回答 3

5

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

您需要将其更改为 <%= %> (注意“=”)

于 2009-12-18T20:01:18.493 回答
1

<%= 用于直接打印到页面,<%# 用于数据绑定元素。是对所有内联代码指令的一个很好的解释。

于 2009-12-18T20:05:58.920 回答
1

感谢艾莉森为我指明了正确的方向。我需要添加Page.DataBind()到我的 Page_Load 事件中才能评估表达式。

于 2009-12-18T20:14:53.520 回答