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) 方法,以便已注册的委托对事件进行接收。