ClientScriptManager.GetPostBackClientHyperlink メソッド
定義
重要
一部の情報は、リリース前に大きく変更される可能性があるプレリリースされた製品に関するものです。 Microsoft は、ここに記載されている情報について、明示または黙示を問わず、一切保証しません。
javascript:
を参照の先頭に付加した上で参照を取得します。この参照をクライアント イベントで使用して、サーバーにポストバックできます。
オーバーロード
GetPostBackClientHyperlink(Control, String) |
|
GetPostBackClientHyperlink(Control, String, Boolean) |
|
GetPostBackClientHyperlink(Control, String)
javascript:
を参照の先頭に追加した上で参照を取得します。この参照をクライアント イベントで使用して、指定したコントロールを、指定したイベント引数を使用してサーバーにポストバックできます。
public:
System::String ^ GetPostBackClientHyperlink(System::Web::UI::Control ^ control, System::String ^ argument);
public string GetPostBackClientHyperlink (System.Web.UI.Control control, string argument);
member this.GetPostBackClientHyperlink : System.Web.UI.Control * string -> string
Public Function GetPostBackClientHyperlink (control As Control, argument As String) As String
パラメーター
- control
- Control
ポストバックを処理するサーバー コントロール。
- argument
- String
サーバー コントロールに渡されたパラメーター。
戻り値
対象のコントロールの ID とイベント引数を保持しているポストバック関数に対する JavaScript 呼び出しを表す文字列。
例
次のコード例では、 メソッドの使用方法を GetPostBackClientHyperlink 示します。 カスタム コントロール は、 MyControl
インターフェイスを IPostBackEventHandler 実装します。 ページ上の HTML アンカー要素をクリックすると、 RaisePostBackEvent カスタム コントロールの メソッドが呼び出されます。
<%@ 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 xmlns="http://www.w3.org/1999/xhtml" >
<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>
<%@ 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 xmlns="http://www.w3.org/1999/xhtml" >
<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 インターフェイスが実装される点が IPostBackEventHandler 除きます。
<%@ 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 xmlns="http://www.w3.org/1999/xhtml" >
<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="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 xmlns="http://www.w3.org/1999/xhtml" >
<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>
注釈
メソッドを GetPostBackEventReference 使用するには、ポストバックを処理するコントロールがインターフェイスを IPostBackEventHandler 実装する必要があります。 の PageインターフェイスをIPostBackEventHandler実装するには、 ディレクティブを@ Implements
使用します。
こちらもご覧ください
適用対象
GetPostBackClientHyperlink(Control, String, Boolean)
javascript:
を参照の先頭に追加した上で参照を取得します。この参照をクライアント イベントで使用して、指定したコントロールを、指定したイベント引数と、イベント検証用にポストバックを登録するかどうかを示すブール値を使用してサーバーにポストバックできます。
public:
System::String ^ GetPostBackClientHyperlink(System::Web::UI::Control ^ control, System::String ^ argument, bool registerForEventValidation);
public string GetPostBackClientHyperlink (System.Web.UI.Control control, string argument, bool registerForEventValidation);
member this.GetPostBackClientHyperlink : System.Web.UI.Control * string * bool -> string
Public Function GetPostBackClientHyperlink (control As Control, argument As String, registerForEventValidation As Boolean) As String
パラメーター
- control
- Control
ポストバックを処理するサーバー コントロール。
- argument
- String
サーバー コントロールに渡されたパラメーター。
- registerForEventValidation
- Boolean
検証用にポストバック イベントを登録する場合は true
。検証用にポストバック イベントを登録しない場合は false
。
戻り値
対象のコントロールの ID とイベント引数を保持しているポストバック関数に対する JavaScript 呼び出しを表す文字列。
注釈
メソッドを GetPostBackEventReference 使用するには、ポストバックを処理するコントロールがインターフェイスを IPostBackEventHandler 実装する必要があります。 の PageインターフェイスをIPostBackEventHandler実装するには、 ディレクティブを@ Implements
使用します。
こちらもご覧ください
適用対象
.NET