我在Web用户控件中动态呈现一些标记,我可以在设计模式下获取它,而不仅仅是运行时吗?
public override void RenderControl(HtmlTextWriter writer)
{
if (this.DesignMode)
writer.Write("<p>In design mode</p>");
else
base.RenderControl(writer);
}
...当我检查控件的设计视图时没有任何反应。如果我删除if(this.DesignMode)条件,则不会。
我是否需要使用服务器控件?
答案 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