0

次のコードは意図したとおりに動作しますが、VSデザイナー上記の警告。カスタムWebサーバーコントロールのVisual Studioデザイナーの警告「<control-name>要素の開始タグと終了タグの間にコンテンツが許可されていません」

ここに私のカスタム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)> 

上記の属性は警告を取り除くべきであることを示しています。私はこれらと運がなかった。誰かが正しい方向に私を指差してくれますか?

答えて

0

今日は新鮮なスタートで、週末の後、ついに私は意図したとおりに動作させました。

クラスの宣言で<ParseChildren(True, "Content")><ParseChildren(False), PersistChildren(True)>に変更し、Contentプロパティを削除したところ、期待どおりに機能し始めました。

<ParseChildren(False), PersistChildren(True)>は、開始タグと終了タグ内のコンテンツをカスタムコントロールの子コントロールコレクションに自動的に配置するため、操作が簡単です。

関連する問題