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

私を正しい方向に向けてくれたアリソンに感謝します。Page.DataBind()式を評価するには、Page_Loadイベントに追加する必要がありました。

于 2009-12-18T20:14:53.520 に答える
1

<%= はページに直接出力するために使用され、<%# はデータ バインディング要素に使用されます。これは、すべてのインライン コード ディレクティブの優れた説明です

于 2009-12-18T20:05:58.920 に答える