2015-01-07 96 views
1

我有一個簡單的圖像按鈕;問題與Asp:圖像按鈕

<asp:ImageButton Visible="false" ID="downloadImgBtn" runat="server" ImageUrl="~/images/downloadPdf.jpg" onclick="btnDownload_Click" /> 

但一些奇怪的問題是它不會打開可見時,頁面加載和它certail條件得到滿足,我有一個簡單的一行:

downloadImgBtn.Visible=true; 

我可以看到它經歷的路線,而是圖片按鈕不會變爲可見,但在<asp:dropdownList回發我做一些相同的一組線,它變成可見的同一行:

downloadImgBtn.Visible=true;

好這個問題有更多的調查,所以當加載我甚至沒有看到圖片按鈕在HTML Source和當下拉菜單發回源html有它有點怪異。

頁面加載後:

<div class="col-lg-2"><img alt="Loading" src="../../images/ajax-loader.gif" 
style="display:none" id="Img2"></div> 

後下拉後回:

<div class="col-lg-2"> <input type="image" src="../images/downloadPdf.jpg" 
id="downloadImgBtn" name="downloadImgBtn"> &nbsp;&nbsp; <img alt="Loading" src="../.. 
/images/ajax-loader.gif" style="display:none" id="Img2"></div> 

我現在甚至還成立ImageButtonVisible=True

此外,以確保股利或任何父控件沒有隱藏我把LabelImageButton

<asp:Label runat="server" ID="lblText">HELLO I AM HERE...</asp:Label> 

它顯示在頁面加載完美的罰款......

任何建議?

+0

這個問題可能與CSS有關,但Tim Schmelter在這裏的建議似乎是一件好事情,首先檢查... –

+0

你可以發佈你的標記的一部分? –

+0

@RahulSingh。實際上它就像... IF(i> 0){downloadImgBtn.Visible = true;} – confusedMind

回答

1

通常當我有這個問題的原因是,控制的父控件之一是不可見的。 Visible屬性是繼承的。所以也許它在Panel這仍然是Visible=false

MSDN提到它在文檔中ALS:

如果容器控件沒有呈現,它包含即使你的 單獨控制的Visible屬性設置爲true 不會呈現任何控件。在這種情況下,即使您已明確將 設置爲true,單個控件 也會爲Visible屬性返回false。 (也就是說,如果父控件的Visible屬性是 設置爲false,子控件繼承設置和設置 優先於任何地方的設置。)


根據你編輯的問題HTML甚至不包含該控件。 Visible是服務器端屬性。如果您將控件的Visible屬性設置爲false,則HTML將不會被渲染。所以你甚至不能在客戶端訪問它,只能在服務器端訪問它。你做了它可見它被渲染後,你可以在這裏看到HTML:

<div class="col-lg-2"> <input type="image" src="../images/downloadPdf.jpg" 
id="downloadImgBtn" name="downloadImgBtn"> &nbsp;&nbsp; <img alt="Loading" src="../.. 
/images/ajax-loader.gif" style="display:none" id="Img2"></div> 

但你已經設置它的displaynone仍然隱藏它。刪除它,你就完成了。

+0

我現在明白你的意思了,檢查出來... – confusedMind

+0

現在我有點困惑了嗎?請檢查更新的問題。 – confusedMind

+0

@confusedMind:我編輯過它。 'style =「display:none」'使它在客戶端不可見。 –

0

由於Visible =「false」.....您看不到負載上的圖像按鈕.....這意味着該按鈕不會呈現在頁面上。

它appers上回發,因爲你設置可見= TRUE

它設置可見= TRUE,你不看它,不是檢查你的代碼。在Visible = true下面的一些行你有一個Visible = false,或者我懷疑這個...你有一個重定向到同一個頁面。

+0

我測試了它可見=現在真的相同的東西 – confusedMind

+0

我認爲這是最好的,如果你給我們所有的頁面代碼 –

+0

我認爲這太複製粘貼:) – confusedMind