Page.VerifyRenderingInServerForm(Control) 메서드
정의
중요
일부 정보는 릴리스되기 전에 상당 부분 수정될 수 있는 시험판 제품과 관련이 있습니다. Microsoft는 여기에 제공된 정보에 대해 어떠한 명시적이거나 묵시적인 보증도 하지 않습니다.
HtmlForm 컨트롤이 런타임에 지정된 ASP.NET 서버 컨트롤에 렌더링되는지 여부를 확인합니다.
public:
virtual void VerifyRenderingInServerForm(System::Web::UI::Control ^ control);
public virtual void VerifyRenderingInServerForm (System.Web.UI.Control control);
abstract member VerifyRenderingInServerForm : System.Web.UI.Control -> unit
override this.VerifyRenderingInServerForm : System.Web.UI.Control -> unit
Public Overridable Sub VerifyRenderingInServerForm (control As Control)
매개 변수
예외
지정된 서버 컨트롤이 런타임에 HtmlForm 서버 컨트롤의 여는 태그와 닫는 태그 사이에 포함되지 않는 경우
확인할 컨트롤이 null
인 경우
예제
다음 코드 예제에서는 Page.Render 사용자 지정 서버 컨트롤의 메서드를 재정의합니다. 이 컨트롤은 페이지에 콘텐츠를 쓸 때 컨트롤의 VerifyRenderingInServerForm 여는 태그와 닫는 태그 사이에 컨트롤이 표시되는지 확인하는 메서드를 HtmlForm 사용합니다.
// Override the Render method to ensure that this control
// is nested in an HtmlForm server control, between a <form runat=server>
// opening tag and a </form> closing tag.
protected override void Render(HtmlTextWriter writer) {
// Ensure that the control is nested in a server form.
if (Page != null) {
Page.VerifyRenderingInServerForm(this);
}
base.Render(writer);
}
' Override the Render method to ensure that this control
' is nested in an HtmlForm server control, between a <form runat=server>
' opening tag and a </form> closing tag.
Protected Overrides Sub Render(ByVal writer As HtmlTextWriter)
' Ensure that the control is nested in a server form.
If Not (Page Is Nothing) Then
Page.VerifyRenderingInServerForm(Me)
End If
MyBase.Render(writer)
End Sub
설명
태그 내부에 <form runat=server>
있어야 하는 컨트롤은 렌더링하기 전에 이 메서드를 호출하여 태그 외부에 배치되는 경우 오류 메시지가 표시되도록 할 수 있습니다. 다시 게시하거나 등록된 스크립트 블록에 의존하는 컨트롤은 메서드 재정의에서 이 메서드를 Control.Render 호출해야 합니다. 서버 양식 요소를 렌더링하는 다른 방법이 있는 페이지는 이 메서드를 재정의하여 다른 조건에서 예외를 throw할 수 있습니다.
서버 컨트롤(<form runat="server">
) 태그에 HtmlForm 묶이지 않으면 클라이언트 쪽 스크립트를 게시하거나 사용하는 서버 컨트롤이 작동하지 않습니다. 이러한 컨트롤은 컨트롤에 묶이지 않은 경우 명확한 오류 메시지를 제공하기 위해 렌더링할 때 이 메서드를 HtmlForm 호출할 수 있습니다.
사용자 지정 서버 컨트롤을 개발하는 경우 모든 종류의 입력 태그에 대해 메서드를 재정 Render
의할 때 이 메서드를 호출하는 것이 일반적입니다. 이는 입력 컨트롤이 호출 GetPostBackEventReference하거나 클라이언트 스크립트를 내보내는 경우에 특히 중요합니다. 복합 서버 컨트롤은 이 호출을 수행할 필요가 없습니다.