(아래) 코드는 을 TemplateItem
태그에 추가 할 때를 제외하고 모두 작동합니다. 그것이 포함되면 나는이 오류가 발생합니다 :웹 사용자 정의 컨트롤에서 INamingContainer에 속성을 추가 할 수 없습니다.
Property 'TemplateItem' does not have a property named 'ref'
어떻게이 문제를 해결할 수 있습니까?
Default.aspx를
<%@ Register Src="~/message.ascx" TagName="Message" TagPrefix="uc" %>
<uc:Message ID="msg" runat="server" abc="123" >
<TemplateItem ref="abc">Hi</TemplateItem>
</uc:Message>
message.ascx
<asp:placeholder runat="server" id="PlaceHolder1" />
message.ascx.vb
Partial Class message
Inherits System.Web.UI.UserControl
Public Property abc() As String
Sub Page_Init()
If TemplateItem IsNot Nothing Then
TemplateItem.InstantiateIn(PlaceHolder1)
End If
End Sub
Private m_TemplateItem As ITemplate = Nothing
<TemplateContainer(GetType(TemplateItem2))> _
Public Property TemplateItem() As ITemplate
Get
Return m_TemplateItem
End Get
Set(ByVal value As ITemplate)
m_TemplateItem = value
End Set
End Property
Public Class TemplateItem2
Inherits Control
Implements INamingContainer
Public Property ref() As String
End Class
End Class