HtmlButton.OnServerClick(EventArgs) 方法
定義
重要
部分資訊涉及發行前產品,在發行之前可能會有大幅修改。 Microsoft 對此處提供的資訊,不做任何明確或隱含的瑕疵擔保。
引發 ServerClick 事件。 這個方法可讓您提供該事件的自訂處理常式。
protected:
virtual void OnServerClick(EventArgs ^ e);
protected virtual void OnServerClick (EventArgs e);
abstract member OnServerClick : EventArgs -> unit
override this.OnServerClick : EventArgs -> unit
Protected Overridable Sub OnServerClick (e As EventArgs)
參數
範例
下列程式碼範例示範如何以宣告方式指定和撰寫 ServerClick 事件的事件處理常式程式碼。 HtmlButton按一下控制項時,就會顯示文字方塊中輸入的值。
<%@ Page Language="C#" AutoEventWireup="True" %>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" >
<script language="C#" runat="server">
protected void FancyBtn_Click(object sender, EventArgs e)
{
Message.InnerHtml = "Your name is: " + Name.Value;
}
</script>
<head runat="server">
<title> Enter Name: </title>
</head>
<body>
<form id="form1" method="post" runat="server">
<h3> Enter Name: <input id="Name" type="text" size="40" runat="server" />
</h3>
<button onserverclick=" FancyBtn_Click" runat="server" id="BUTTON1">
<b><i> I'm a fancy HTML 4.0 button </i> </b>
</button>
<h1>
<span id="Message" runat="server"></span>
</h1>
</form>
</body>
</html>
<%@ Page Language="VB" AutoEventWireup="True" %>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" >
<script language="VB" runat="server">
Sub FancyBtn_Click(Source As Object, E as EventArgs)
Message.InnerHtml = "Your name is: " & Name.Value
End Sub
</script>
<head runat="server">
<title> Enter Name: </title>
</head>
<body>
<form id="form1" method="post" runat="server">
<h3> Enter Name: <input id="Name" type="text" size="40" runat="server" />
</h3>
<button onserverclick=" FancyBtn_Click" runat="server">
<b><i> I'm a fancy HTML 4.0 button </i> </b>
</button>
<h1>
<span id="Message" runat="server"></span>
</h1>
</form>
</body>
</html>
下列程式碼範例示範如何以程式設計方式指定和撰寫事件的事件處理常式 ServerClick 程式碼。
<%@ Page Language="C#" AutoEventWireup="True" %>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" >
<head>
<title> HtmlButton Constructor Example </title>
<script runat="server">
void Page_Load(Object sender, EventArgs e)
{
// Create a new HtmlButton control.
HtmlButton NewButtonControl = new HtmlButton();
// Set the properties of the new HtmlButton control.
NewButtonControl.ID = "NewButtonControl";
NewButtonControl.InnerHtml = "Click Me";
// Create an EventHandler delegate for the method you want to handle the event
// and then add it to the list of methods called when the event is raised.
NewButtonControl.ServerClick += new System.EventHandler(this.Button_Click);
// Add the new HtmlButton control to the Controls collection of the
// PlaceHolder control.
ControlContainer.Controls.Add(NewButtonControl);
}
void Button_Click(Object sender, EventArgs e)
{
// Display a simple message.
Message.InnerHtml = "Thank you for clicking the button.";
}
</script>
</head>
<body>
<form id="form1" runat="server">
<h3> HtmlButton Constructor Example </h3>
<asp:PlaceHolder ID="ControlContainer"
runat="server"/>
<br /><br />
<span id="Message"
runat="server"/>
</form>
</body>
</html>
<%@ Page Language="VB" AutoEventWireup="True" %>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" >
<head>
<title> HtmlButton Constructor Example </title>
<script runat="server">
Sub Page_Load(sender As Object, e As EventArgs)
' Create a new HtmlButton control.
Dim NewButtonControl As New HtmlButton()
' Set the properties of the new HtmlButton control.
NewButtonControl.ID = "NewButtonControl"
NewButtonControl.InnerHtml = "Click Me"
' Create an EventHandler delegate for the method you want to handle the event
' and then add it to the list of methods called when the event is raised.
AddHandler NewButtonControl.ServerClick, AddressOf Button_Click
' Add the new HtmlButton control to the Controls collection of the
' PlaceHolder control.
ControlContainer.Controls.Add(NewButtonControl)
End Sub
Sub Button_Click(sender As Object, e As EventArgs)
' Display a simple message.
Message.InnerHtml = "Thank you for clicking the button."
End Sub
</script>
</head>
<body>
<form id="form1" runat="server">
<h3> HtmlButton Constructor Example </h3>
<asp:PlaceHolder ID="ControlContainer"
runat="server"/>
<br /><br />
<span id="Message"
runat="server"/>
</form>
</body>
</html>
備註
ServerClick按一下控制項時 HtmlButton ,就會引發 事件。 此事件會導致從用戶端到伺服器和返回的來回行程。 它刻意與用戶端 OnClick
事件不同。 如果程式碼執行與用戶端事件所 OnClick
執行 ServerClick 的程式碼之間發生衝突,伺服器端事件指示將會覆寫用戶端程式代碼。
引發事件會透過委派叫用此事件處理常式。 如需詳細資訊,請參閱 處理和引發事件。
OnServerClick 方法也允許衍生類別處理事件,而不用附加委派。 這是在衍生類別中處理事件的慣用技巧。
給繼承者的注意事項
當在衍生類別中覆寫 OnServerClick(EventArgs) 時,請確定呼叫基底類別的 OnServerClick(EventArgs) 方法,使已註冊的委派能接收到事件。