2011-10-10 24 views
-1

這裏是一個例子。問題在於無論if-else結果如何,Label2總是Visible = true。我如何知道它是否可見?ASP.NET如何知道頁面中的if-else控件是否可見?

<asp:GridView runat="server" ID="gdv"> 
<asp:TemplateField> 
<ItemTemplate> 

    <%if (!IsItem) 
        {%> 
        <asp:TextBox runat="server" Text='<%# Eval("Qtde") %>'></asp:TextBox> 
        <%} 
        else 
        { %> 
        <asp:Label ID="Label2" runat="server" Text='<%# Eval("Qtde") %>'></asp:Label> 
        <%} %> 


       </EditItemTemplate> 
     </asp:TemplateField> 

我無法訪問IsItem,因爲在這裏我要檢查標籤能見度類是不是頁面代碼隱藏。這些控件也在gridview中。

檢查可見性的類方法不是由頁面直接調用的,它是擴展了網格視圖的服務器控件的私有方法,並且應該用於各種各樣的情況。

謝謝。

編輯------------ 我發現了一個替代的,體面的解決方案。不過,我很想知道是否有可能做到上述。謝謝你的時間,

+0

'if(!IsItem)'顯然告訴你。 –

+0

我無法訪問IsItem屬性,我添加了編輯來澄清此問題。 –

+0

很難看出問題所在。什麼決定國家,如果不是isitem? –

回答

0

您正在顯示該標籤基於名爲「IsItem」的變量。你爲什麼不能用它來確定標籤的可見性?

+0

我想知道它在與頁面代碼不同的類中,所以我不能訪問IsItem屬性 –

+0

將IsItem作爲bool參數傳遞給另一個類中的方法。 – Graham

+0

檢查可見性的類方法不是由頁面直接調用的,它是擴展網格視圖的服務器控件的私有方法,並且應該用於各種各樣的情況。 –

相關問題