HtmlButton.OnServerClick(EventArgs) 方法
定义
引发 ServerClick 事件。Raises the ServerClick event. 这使你可以为事件提供自定义处理程序。This allows you to provide a custom handler for the event.
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 。The following code example demonstrates how to declaratively specify and code an event handler for the ServerClick event. 单击该 HtmlButton 控件时,将显示在文本框中输入的值。When the HtmlButton control is clicked, the value entered in the text box is displayed.
<%@ 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 。The following code example demonstrates how to programmatically specify and code an event handler for the ServerClick event.
<%@ 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 。The ServerClick event is raised when the HtmlButton control is clicked. 此事件导致从客户端到服务器的往返过程中发生往返。This event causes a round trip to occur from the client to the server and back. 它有意不同于客户端 OnClick 事件。It is deliberately different from the client-side OnClick event. 如果代码运行的代码与 ServerClick 客户端事件运行的事件和代码之间存在冲突 OnClick ,服务器端事件说明将覆盖客户端代码。If a conflict exists between code run with a ServerClick event and code run by a client-side OnClick event, the server-side event instructions will override the client-side code.
引发事件时,将通过委托调用事件处理程序。Raising an event invokes the event handler through a delegate. 有关详细信息,请参阅 处理和引发事件。For more information, see Handling and Raising Events.
OnServerClick 方法还允许派生类对事件进行处理而不必附加委托。The OnServerClick method also allows derived classes to handle the event without attaching a delegate. 这是在派生类中处理事件的首选技术。This is the preferred technique for handling the event in a derived class.
继承者说明
在派生类中重写 OnServerClick(EventArgs) 时,一定要调用基类的 OnServerClick(EventArgs) 方法,以便已注册的委托对事件进行接收。When overriding OnServerClick(EventArgs) in a derived class, be sure to call the base class's OnServerClick(EventArgs) method so that registered delegates receive the event.