在设计模式下隐藏用户控件

时间:2009-11-23 09:15:26

标签: asp.net design-time

在我的ASP.Net(3.5)页面中控制以模拟弹出窗口(Visual-Studio 2008)。 问题是所有这些弹出窗口都位于设计模式下页面中的常规控件上。

所以我的问题是:如何在设计模式中隐藏用户控件。

2 个答案:

答案 0 :(得分:2)

如果您使用的是usercontrol,则可以利用设计人员忽略您的代码的事实。我得到以下工作:

在用户控件中创建两个样式:

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

在usercontrol中创建两个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);
    }

对我来说,这会在设计器中为我的用户控件创建一个小块文本渲染所需的效果

答案 1 :(得分:0)

从谷歌搜索一下我认为你不能使用ascx。如果你需要,我认为你应该把它变成一个自定义控件。

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

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

如果您创建一个包含用户控件实例的自定义控件,并使用上面链接的方法隐藏其所有内容,则可以执行此操作。