ASP.NET 사용자 지정 합성 컨트롤 (Inherits System.Web.UI.WebControls.CompositeControl)을 작성하고 있습니다.Nothing from Property TagKey()
기본적으로 내 제어 마크 업은 태그로 둘러싸인 렌더링입니다. 나는 System.Web.UI.HtmlTextWriterTag 열거 형에서 원하는 태그로 반환 값을 설정하기 위해 TagKey 속성을 사용할 수 있음을 알고 있습니다.
내 질문 : .NET에서 주위에 마크 업을 추가하지 않고 컨트롤을 렌더링 할 수 있습니까?
업데이트 (3/2/2011) 답변을 주셔서 감사합니다. 나는 지금 어떻게 나의 질문을 해결하고 있는지 보여주고 싶다. Swati의 아이디어 중 일부를 통합 할 것입니다. 특히, AddAttributestoRender(),하지만 그 CompositeControl 속성을 보유하는 부모 마크 업 태그가 부족하기 때문에 필요한 경우 궁금하네요.
마크 업 태그를 포함하고 싶지 않으면 하나의 속성을 오버라이드합니다. & CompositeControl의 두 가지 메소드. CompositeControl과 함께 포함 된 태그를 제거하지만, CompositeControl이 일을 좋아하는 방법에 대하여 그것의 작업 명백하게에 TagKey을 설정,
적절한 방법 (아래 참조)하기가
Protected Overrides ReadOnly Property TagKey() As System.Web.UI.HtmlTextWriterTag
Get
' System defaults return as HtmlTextWriterTag.Span
Return HtmlTextWriterTag.Unknown
End Get
End Property
Public Overrides Sub RenderBeginTag(ByVal writer As System.Web.UI.HtmlTextWriter)
If Me.TagKey <> HtmlTextWriterTag.Unknown Then
MyBase.RenderBeginTag(writer)
End If
End Sub
Public Overrides Sub RenderEndTag(ByVal writer As System.Web.UI.HtmlTextWriter)
If Me.TagKey <> HtmlTextWriterTag.Unknown Then
MyBase.RenderBeginTag(writer)
End If
End Sub
테이크 어웨이 점 : CompositeControl 내가() AddAttributesToRender을 지적 당신이 codeulike 큰 감사의 말을해야 일을 좋아하는 방법에 대하여 그것의 작업을. 나는 그것을 놓쳤다. 이 너겟은 매우 유용합니다. 다른 작가에 대한 정보 -이 게시물에서 알아보십시오. 대답은 큰 도움 및 지원 링크가 포함되었습니다! 이상하게도 도움이된다 – MADCookie