【问题标题】:Visual Studio designer warning for custom web server control "Content is not allowed between the opening and closing tags for element <control-name>"自定义 Web 服务器控件的 Visual Studio 设计器警告“元素 <control-name> 的开始标签和结束标签之间不允许有内容”
【发布时间】:2017-10-04 21:49:32
【问题描述】:

以下代码按预期工作,但我似乎无法摆脱上面的 VS 设计器警告。

这是我的自定义 Web 服务器控件类:

<ParseChildren(True, "Content")>
Public Class Test
    Inherits WebControl

    Property Content As Control

    Private Sub Test_Init(sender As Object, e As EventArgs) Handles Me.Init
        Me.Controls.Add(Content)
    End Sub

End Class

这里是标记:

<app:Test runat="server">
    This is a test<br />
    <asp:Button runat="server" Text="Click !" />
</app:Test>

我在Content 属性上尝试了以下属性的不同组合,但我无法摆脱警告:

<PersistenceMode(PersistenceMode.InnerProperty), DesignerSerializationVisibility(DesignerSerializationVisibility.Content)>

找到了一些表明上述属性应该摆脱警告的来源。我对这些没有运气。有人可以指出我正确的方向吗?

【问题讨论】:

    标签: asp.net custom-server-controls visual-studio-designer


    【解决方案1】:

    所以今天有了一个全新的开始,周末过后,我终于让它按我的预期工作了。

    我在类声明中将&lt;ParseChildren(True, "Content")&gt; 更改为&lt;ParseChildren(False), PersistChildren(True)&gt;,删除了Content 属性,它开始按预期工作。

    注意&lt;ParseChildren(False), PersistChildren(True)&gt;会自动将开始和结束标签内的内容放入自定义控件的子控件集合中,方便使用。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2016-06-09
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多