PagesSection.AutoEventWireup 속성
정의
중요
일부 정보는 릴리스되기 전에 상당 부분 수정될 수 있는 시험판 제품과 관련이 있습니다. Microsoft는 여기에 제공된 정보에 대해 어떠한 명시적이거나 묵시적인 보증도 하지 않습니다.
ASP.NET 페이지의 이벤트가 이벤트 처리 함수에 자동으로 연결되는지 여부를 나타내는 값을 가져오거나 설정합니다.
public:
property bool AutoEventWireup { bool get(); void set(bool value); };
[System.Configuration.ConfigurationProperty("autoEventWireup", DefaultValue=true)]
public bool AutoEventWireup { get; set; }
[<System.Configuration.ConfigurationProperty("autoEventWireup", DefaultValue=true)>]
member this.AutoEventWireup : bool with get, set
Public Property AutoEventWireup As Boolean
속성 값
ASP.NET 페이지의 이벤트가 이벤트 처리 함수에 자동으로 연결되면 true
이고, 그렇지 않으면 false
입니다. 기본값은 true
입니다.
- 특성
예제
다음 코드 예제를 설정 하거나 읽을 방법을 AutoEventWireup 코드에서 속성입니다.
// Get the current AutoEventWireup property value.
Console.WriteLine(
"Current AutoEventWireup value: '{0}'",
pagesSection.AutoEventWireup);
// Set the AutoEventWireup property to false.
pagesSection.AutoEventWireup = false;
' Get the current AutoEventWireup property value.
Console.WriteLine( _
"Current AutoEventWireup value: '{0}'", _
pagesSection.AutoEventWireup)
' Set the AutoEventWireup property to false.
pagesSection.AutoEventWireup = False
다음 예제에서는 두 가지 형태의 메서드 시그니처는 자동으로 페이지 이벤트에 연결 하는 경우 AutoEventWireup 는 true
합니다.
<%@ Page Language="C#" AutoEventWireup="false" CodeFile="Default.aspx.cs" Inherits="_Default" %>
// This method will be automatically bound to the Load event
// when AutoEventWireup is true.
protected void Page_Load(object sender, EventArgs e)
{
Response.Write("Hello world");
}
// This method will be automatically bound to the Load event
// when AutoEventWireup is true only if no overload having
// object and EventArgs parameters is found.
protected void Page_Load()
{
Response.Write("Hello world");
}
<%@ Page Language="VB" AutoEventWireup="false" CodeFile="Default.aspx.vb" Inherits="_Default" %>
' This method will be automatically bound to the Load event
' when AutoEventWireup is true.
Protected Sub Page_Load(ByVal sender As Object, ByVal e As System.EventArgs)
Response.Write("Hello world")
End Sub
' This method will be automatically bound to the Load event
' when AutoEventWireup is true only if no overload having
' object and EventArgs parameters is found.
Protected Sub Page_Load()
Response.Write("Hello world")
End Sub
다음 예제에서는 이벤트에 명시적으로 연결 하는 방법을 보여 줍니다 때 AutoEventWireup 는 false
합니다.
// Following are three alternative ways of binding an event
// handler to an event when AutoEventWireup is false. For
// any given event do this binding only once or the handler
// will be called multiple times.
// You can wire up events in the page's constructor.
public _Default()
{
Load += new EventHandler(Page_Load);
}
// You can override the OnInit event and wire up events there.
protected override void OnInit(EventArgs e)
{
base.OnInit(e);
Load += new EventHandler(Page_Load);
}
// Or you can override the event's OnEventname method and
// call your handler from there. You can also put the code
// execute when the event fires within the override method itself.
protected override void OnLoad(EventArgs e)
{
Page_Load(null, null);
base.OnLoad(e);
}
protected void Page_Load(object sender, EventArgs e)
{
Response.Write("Hello world");
}
' The Handles keyword binds Page_Load to the Load event.
Protected Sub Page_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load
Response.Write("Hello world")
End Sub
설명
때 AutoEventWireup 됩니다 true
, ASP.NET 하면 명시적으로 바인딩하는 이벤트 처리기 페이지 이벤트와 같은 필요가 없는 Load.
때 AutoEventWireup 는 false
, 이벤트 메서드를 명시적으로 바인딩해야 합니다. 예를 들어 있는 경우를 Page_Load
페이지에 대 한 코드의 메서드에 대 한 응답에서 메서드 호출 됩니다 합니다 Load 다음과에서 같은 코드를 작성 하는 경우에 이벤트 (알 수 있습니다는 Handles
Visual Basic 및 이벤트 처리기에서 문 코드에서 C#):
Partial Class AutoEventWireupExample
Inherits System.Web.UI.Page
Protected Sub Page_Load(ByVal sender As Object, _
ByVal e As System.EventArgs) Handles Me.Load
Response.Write("Executing Page_Load")
End Sub
End Class
public partial class AutoEventWireupExample : System.Web.UI.Page
{
protected void Page_Load(object sender, System.EventArgs e)
{
Response.Write("Executing Page_Load");
}
override protected void OnInit(EventArgs e)
{
this.Load += new System.EventHandler(this.Page_Load);
}
}
때 AutoEventWireup 는 true
, 처리기 해당 이름과 시그니처를 기반으로 런타임에 바인딩된 이벤트에 자동으로 합니다. 각 이벤트에 대 한 ASP.NET 패턴에 따라 명명 된 메서드에 대 한 검색 Page_
eventname와 같은 Page_Load
또는 Page_Init
합니다. ASP.NET 먼저 일반적인 이벤트 처리기 서명이 오버 로드 확인 (즉, 지정 Object 고 EventArgs 매개 변수). 이 서명 사용 하 여 이벤트 처리기가 없으면 ASP.NET 매개 변수가 없는 오버 로드를 확인 합니다.
때 AutoEventWireup 는 false
를 명시적으로 이벤트 처리기에 바인딩해야 이벤트 앞의 예제에 표시 된 대로 합니다. 이 경우 메서드 이름 패턴을 따르도록 필요가 없습니다.
기본값은 true
하는 경우 AutoEventWireup 에 지정 되어 있지는 @ Page
지시문입니다. Visual Studio 코드 숨김 파일을 만들 때 특성을 자동으로 포함 됩니다. 값을 Visual Studio C#으로 작성 된 ASP.NET 페이지에 대 한 설정 true
합니다. Visual Basic의 경우 처리기가 이벤트 처리기를 생성할 false
때 Visual Studio에서 자동으로 삽입되는 Handles 키워드(keyword) 사용하여 이벤트에 바인딩되기 때문에 Visual Studio는 값을 로 설정합니다. 로 true
설정 AutoEventWireup 하면 핸들 키워드(keyword) 생략(또는 제거)할 수 있습니다.
설정 하지 마세요 AutoEventWireup 에 true
성능이 주요 고려 사항인 경우. 자동 이벤트 연결이 설정 되 면 ASP.NET은 메서드를 사용 하 여 이벤트를 일치 하도록 시도 15 자에서 30 사이의 확인 해야 합니다.
이벤트에 이벤트 처리기를 바인딩하는 방법에 대 한 다음 note:
설정 하는 경우 AutoEventWireup 에
true
에 연결 하지 않는 것도 수동으로 페이지 이벤트 처리기 이벤트에 있는지 확인 합니다. 이렇게 하면 여러 번 처리기 호출 될 수 있습니다.자동 바인딩 페이지의 컨트롤에 대 한 이벤트가 아닌 페이지 이벤트에 대해서만 수행 됩니다.
이벤트 처리기를 바인딩하는 대신 재정의할 수 있습니다 합니다
On
eventname 메서드 또는 컨트롤의 페이지입니다.
적용 대상
.NET