2009-11-23 69 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