Note: This method is new in the .NET Framework version 2.0.
Returns a string that can be used in a client event to cause postback to the server. The reference string is defined by the specified control that handles the postback and a string argument of additional event information.
Namespace: System.Web.UI
Assembly: System.Web (in system.web.dll)
Visual Basic (Declaration)
Public Function GetPostBackEventReference ( _
control As Control, _
argument As String _
) As String
Dim instance As ClientScriptManager
Dim control As Control
Dim argument As String
Dim returnValue As String
returnValue = instance.GetPostBackEventReference(control, argument)
public string GetPostBackEventReference (
Control control,
string argument
)
public:
String^ GetPostBackEventReference (
Control^ control,
String^ argument
)
public String GetPostBackEventReference (
Control control,
String argument
)
public function GetPostBackEventReference (
control : Control,
argument : String
) : String
Parameters
- control
The server Control that processes the postback on the server.
- argument
A string of optional arguments to pass to the control that processes the postback.
Return Value
A string that, when treated as script on the client, initiates the postback.
| Exception type | Condition |
|---|
ArgumentNullException | The specified Control is a null reference (Nothing in Visual Basic). |
To implement the IPostBackEventHandler interface for a Page, use the @ Implements directive.
The GetPostBackEventReference method can be used with the Button control when the UseSubmitBehavior property is false. In this scenario, the GetPostBackEventReference method returns the client postback event for the Button control.
The following code example demonstrates the use of the GetPostBackEventReference method. The custom control, MyControl, implements the IPostBackEventHandler interface. When the button on the page is clicked, the RaisePostBackEvent method of the custom control is invoked.
<%@ Page Language="VB" %>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<script runat="server">
Public Class MyControl
Inherits Label
Implements IPostBackEventHandler
Public Sub New()
MyBase.Text = "No postback raised."
End Sub
Public Sub RaisePostBackEvent(ByVal eventArgument As String) Implements System.Web.UI.IPostBackEventHandler.RaisePostBackEvent
MyBase.Text = "Postback handled by " & Me.ID.ToString() & ". <br/>" & _
"Postback caused by " + eventArgument.ToString() & "."
End Sub
End Class
Protected Sub Page_Load(ByVal sender As Object, ByVal e As System.EventArgs)
' Get a ClientScriptManager reference from the Page class.
Dim cs As ClientScriptManager = Page.ClientScript
' Create an instance of the custom label control and
' add it to the page.
Dim mycontrol As New MyControl()
MyControl.ID = "mycontrol1"
PlaceHolder1.Controls.Add(MyControl)
PlaceHolder1.Controls.Add(New LiteralControl("<br/>"))
' Create a button element with its onClick attribute defined
' to create a postback event reference to the custom label control.
Dim b As New HtmlInputButton()
b.ID = "mybutton1"
b.Value = "Click"
b.Attributes.Add("onclick", cs.GetPostBackEventReference(MyControl, b.ID.ToString()))
PlaceHolder1.Controls.Add(b)
PlaceHolder1.Controls.Add(New LiteralControl("<br/>"))
' Create a link element with its href attribute defined
' to create a postback event reference to the custom label control.
Dim a As New HtmlAnchor()
a.ID = "myanchor1"
a.InnerText = "link"
a.HRef = cs.GetPostBackClientHyperlink(MyControl, a.ID.ToString())
PlaceHolder1.Controls.Add(a)
End Sub
</script>
<html >
<head id="Head1" runat="server">
<title>ClientScriptManager Example</title>
</head>
<body>
<form id="form1" runat="server">
<div>
<asp:PlaceHolder id="PlaceHolder1"
runat="server">
</asp:PlaceHolder>
</div>
</form>
</body>
</html>
<%@ Page Language="C#" %>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<script runat="server">
public class MyControl : Label, IPostBackEventHandler
{
// Use the constructor to defined default label text.
public MyControl()
{
base.Text = "No postback raised.";
}
// Implement the RaisePostBackEvent method from the
// IPostBackEventHandler interface.
public void RaisePostBackEvent(string eventArgument)
{
base.Text = "Postback handled by " + this.ID.ToString() + ". <br/>" +
"Postback caused by " + eventArgument.ToString() + ".";
}
}
protected void Page_Load(object sender, EventArgs e)
{
// Get a ClientScriptManager reference from the Page class.
ClientScriptManager cs = Page.ClientScript;
// Create an instance of the custom label control and
// add it to the page.
MyControl mycontrol = new MyControl();
mycontrol.ID = "mycontrol1";
PlaceHolder1.Controls.Add(mycontrol);
PlaceHolder1.Controls.Add(new LiteralControl("<br/>"));
// Create a button element with its onClick attribute defined
// to create a postback event reference to the custom label control.
HtmlInputButton b = new HtmlInputButton();
b.ID = "mybutton1";
b.Value = "Click";
b.Attributes.Add("onclick", cs.GetPostBackEventReference(mycontrol, b.ID.ToString()));
PlaceHolder1.Controls.Add(b);
PlaceHolder1.Controls.Add(new LiteralControl("<br/>"));
// Create a link element with its href attribute defined
// to create a postback event reference to the custom label control.
HtmlAnchor a = new HtmlAnchor();
a.ID = "myanchor1";
a.InnerText = "link";
a.HRef = cs.GetPostBackClientHyperlink(mycontrol, a.ID.ToString());
PlaceHolder1.Controls.Add(a);
}
</script>
<html >
<head runat="server">
<title>ClientScriptManager Example</title>
</head>
<body>
<form id="form1" runat="server">
<div>
<asp:PlaceHolder id="PlaceHolder1"
runat="server">
</asp:PlaceHolder>
</div>
</form>
</body>
</html>
The following code example has the same functionality as the preceding one, except that instead of a custom control, the Page class implements the IPostBackEventHandler interface.
<%@ Page Language="VB" %>
<%@ Implements Interface="System.Web.UI.IPostBackEventHandler" %>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<script runat="server">
Public Sub RaisePostBackEvent(ByVal eventArgument As String) _
Implements IPostBackEventHandler.RaisePostBackEvent
Label1.Text = "Postback handled by " & Me.ID.ToString() & ". <br/>" & _
"Postback caused by " + eventArgument.ToString() & "."
End Sub
Protected Sub Page_Load(ByVal sender As Object, ByVal e As System.EventArgs)
' Get a ClientScriptManager reference from the Page class.
Dim cs As ClientScriptManager = Page.ClientScript
' Create a button element with its onClick attribute defined
' to create a postback event reference to the custom label control.
Dim b As New HtmlInputButton()
b.ID = "mybutton1"
b.Value = "Click"
b.Attributes.Add("onclick", cs.GetPostBackEventReference(Me, b.ID.ToString()))
PlaceHolder1.Controls.Add(b)
PlaceHolder1.Controls.Add(New LiteralControl("<br/>"))
' Create a link element with its href attribute defined
' to create a postback event reference to the custom label control.
Dim a As New HtmlAnchor()
a.ID = "myanchor1"
a.InnerText = "link"
a.HRef = cs.GetPostBackClientHyperlink(Me, a.ID.ToString())
PlaceHolder1.Controls.Add(a)
End Sub
</script>
<html >
<head runat="server">
<title>ClientScriptManager Example</title>
</head>
<body>
<form id="form1" runat="server">
<div>
<asp:Label id="Label1"
runat="server" />
<br />
<asp:PlaceHolder id="PlaceHolder1"
runat="server">
</asp:PlaceHolder>
</div>
</form>
</body>
</html>
<%@ Page Language="C#" %>
<%@ Implements Interface="System.Web.UI.IPostBackEventHandler" %>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<script runat="server">
public void RaisePostBackEvent(string eventArgument)
{
Label1.Text = "Postback handled by " + this.ID.ToString() + ". <br/>" +
"Postback caused by " + eventArgument.ToString() + "."; ;
}
protected void Page_Load(object sender, EventArgs e)
{
// Get a ClientScriptManager reference from the Page class.
ClientScriptManager cs = Page.ClientScript;
// Create a button element with its onClick attribute defined
// to create a postback event reference to the custom label control.
HtmlInputButton b = new HtmlInputButton();
b.ID = "mybutton1";
b.Value = "Click";
b.Attributes.Add("onclick", cs.GetPostBackEventReference(this, b.ID.ToString()));
PlaceHolder1.Controls.Add(b);
PlaceHolder1.Controls.Add(new LiteralControl("<br/>"));
// Create a link element with its href attribute defined
// to create a postback event reference to the custom label control.
HtmlAnchor a = new HtmlAnchor();
a.ID = "myanchor1";
a.InnerText = "link";
a.HRef = cs.GetPostBackClientHyperlink(this, a.ID.ToString());
PlaceHolder1.Controls.Add(a);
}
</script>
<html >
<head runat="server">
<title>ClientScriptManager Example</title>
</head>
<body>
<form id="form1" runat="server">
<div>
<asp:Label id="Label1"
runat="server" />
<br />
<asp:PlaceHolder id="PlaceHolder1"
runat="server">
</asp:PlaceHolder>
</div>
</form>
</body>
</html>
Windows 98, Windows 2000 SP4, Windows Server 2003, Windows XP Media Center Edition, Windows XP Professional x64 Edition, Windows XP SP2, Windows XP Starter Edition
The .NET Framework does not support all versions of every platform. For a list of the supported versions, see System Requirements.
.NET Framework
Supported in: 2.0