Asp Net Web用户控件在设计时进行渲染

时间:2010-09-29 08:44:56

标签: asp.net user-controls

我在Web用户控件中动态呈现一些标记,我可以在设计模式下获取它,而不仅仅是运行时吗?

public override void RenderControl(HtmlTextWriter writer)
{
 if (this.DesignMode) 
  writer.Write("<p>In design mode</p>");
 else
  base.RenderControl(writer);
}

...当我检查控件的设计视图时没有任何反应。如果我删除if(this.DesignMode)条件,则不会。

我是否需要使用服务器控件?

3 个答案:

答案 0 :(得分:1)

您需要为控件创建自定义设计器。在MSDN

上开始阅读

答案 1 :(得分:1)

使用从UserControl派生的Control是不可能的。另请参阅How to hide the inner controls of a UserControl in the Designer?

答案 2 :(得分:0)

Visual Studio不支持此功能。在你指定“用户控制”这个词的那一刻,事情就变成了beserk并呈现你所放置的一切。显然这是自2008年以来的情况......

您可以将用户控件转换为服务器控件,这是一个很大的痛苦。还是......

幸运的是,可以影响服务器控件的呈现方式。换句话说,您可以通过使用它来欺骗Visual Studio设计器。您可以在此处找到所需的代码:http://www.codeproject.com/Tips/773145/Hiding-contents-in-ASP-Net-user-control-designer