2009-11-23 54 views
0

控制我的ASP.Net(3.5)頁面以模擬彈出窗口(Visual-Studio 2008)。 問題是,在設計模式下,所有這些彈出窗口都位於頁面中的常規控件上。

所以我的問題是:如何隱藏設計模式下的用戶控件。在設計模式下隱藏用戶控制

回答

0

從谷歌搜索一下,我不認爲你可以用ascx。我想你應該把它變成一個自定義控件,如果你需要這個。

http://www.west-wind.com/WebLog/posts/189.aspx可能有助於

編輯: http://ajdotnet.wordpress.com/2006/08/28/do-you-value-design-time-support/

你也許可以,如果你創建一個保存您的用戶控件的實例自定義控件要做到這一點,並使用連接到上面的方法隱藏其所有內容。

+0

據我所見,這解釋瞭如何自定義組件的設計器,但我看不到如何在設計器視圖中完全隱藏用戶控件。 – 2009-11-23 10:57:25

+0

感謝您的幫助!我之前看到過這篇文章。我試着完全按照發布的解決方案,但彈出窗口仍然出現。 – 2009-11-23 13:00:04

+0

即使在渲染函數中拋出一個異常(無條件且始終)並不妨礙用戶控件的渲染! – 2009-11-23 15:04:55

2

如果您使用的是usercontrol,則可以利用設計器忽略代碼的事實。我得到了以下工作:

在用戶控件創建兩種風格:

<style type="text/css"> 
    .hide 
    { 
     display:none; 
    } 
    .show 
    { 
     display:; 
    } 
</style> 

在用戶控件創建兩個ASP面板:

<asp:Panel ID="pnlDesigner" runat="server" CssClass="show"> 
Put content you want to show in designer here 
</asp:Panel> 
<asp:Panel ID="pnlDisplay" runat="server" CssClass="hide"> 
Put all your actual content here 
</asp:Panel> 

添加到您的代碼:

protected override void OnPreRender(EventArgs e) 
    { 
     pnlDisplay.CssClass = "show"; 
     pnlDesigner.CssClass = "hide"; 

     base.OnPreRender(e); 
    } 

對我來說,這會創建一個預設的效果,即在設計器中爲我繪製一小塊文字用戶控制

+0

也許應該注意到,這也隱藏了usercontrol設計器中的東西,仍然適用於我,因爲我編輯的主機頁比usercontrols多得多 – 2011-01-03 21:37:53

相關問題