Предупреждение дизайнера Visual Studio для пользовательского элемента управления веб-сервера: "Не допускается содержимое между открывающим и закрывающим тегами для элемента <control-name>"
Следующий код работает как задумано, но я не могу избавиться от предупреждения дизайнера VS выше.
Вот мой собственный класс управления веб-сервером:
<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)>
Найдены несколько источников, которые указывают, что вышеуказанные атрибуты должны избавиться от предупреждения. Мне не повезло с этим. Может ли кто-нибудь, пожалуйста, указать мне в правильном направлении?
1 ответ
Итак, с новым началом сегодня, после выходных, я наконец-то начал работать так, как планировал.
Я изменился <ParseChildren(True, "Content")>
в <ParseChildren(False), PersistChildren(True)>
в объявлении класса удалил Content
собственности, и она начала работать, как и ожидалось.
Обратите внимание, что <ParseChildren(False), PersistChildren(True)>
автоматически помещает содержимое внутри открывающих и закрывающих тегов в коллекцию дочернего элемента пользовательского элемента управления, что упрощает работу с ним.