PostBackOptions クラス
アセンブリ: System.Web (system.web.dll 内)


PostBackOptions クラスを使用すると、コントロールでクライアント側のスクリプトを生成し、ポストバック イベントを実行できます。PostBackOptions クラスは、TargetControl プロパティにより、ポストバック イベントを実行するコントロールへの参照も提供します。ポストバック イベントは、ClientScriptManager.GetPostBackEventReference メソッドに渡された PostBackOptions オブジェクトに指定されたオプションに基づいて作成されます。
通常は、サーバーへのポストバックは Submit ボタンや Image ボタンなどの要素によって実行されます。ただし、クライアント側の JavaScript を生成することで、別のコントロールでポストバック イベントを実行できます。

Button コントロールの OnClick イベントを使用して、HyperLink コントロールのクライアント側のスクリプトを生成する方法を次のコード例に示します。このスクリプトを使用して、HyperLink コントロールでポストバック イベントを発生させることができます。myPostBackOptions オブジェクトの ActionUrl プロパティが "Page2.aspx" に設定されているので、この例で示されていない "Page2.aspx" という名前の別のページに Web フォーム ページがポストバックされます。この例を使用するには、プロジェクト (つまりディレクトリ) に "Page2.aspx" という名前の別の Web ページを追加する必要があります。
Partial Class postbackoptionsvb Inherits System.Web.UI.Page Protected Sub Button1_Click(ByVal sender As Object, ByVal e As EventArgs) ' Create a new PostBackOptions object and set its properties. Dim myPostBackOptions As PostBackOptions = New PostBackOptions(Me) myPostBackOptions.ActionUrl = "Page2.aspx" myPostBackOptions.AutoPostBack = False myPostBackOptions.RequiresJavaScriptProtocol = True myPostBackOptions.PerformValidation = True ' Add the client-side script to the HyperLink1 control. HyperLink1.NavigateUrl = Page.ClientScript.GetPostBackEventReference(myPostBackOptions) Label1.Text = "Click this hyperlink to initiate a postback event." End Sub Protected Sub Page_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load If Page.IsPostBack Then Label1.Text = "A postback event has occurred." End If End Sub End Class
using System; using System.Data; using System.Configuration; using System.Collections; using System.Web; using System.Web.Security; using System.Web.UI; using System.Web.UI.WebControls; using System.Web.UI.WebControls.WebParts; using System.Web.UI.HtmlControls; public partial class postbackoptionscs : System.Web.UI.Page { protected void Page_Load(object sender, EventArgs e) { if (Page.IsPostBack) { Label1.Text = "A postback event has occurred."; } } protected void Button1_Click(object sender, EventArgs e) { // Create a new PostBackOptions object and set its properties. PostBackOptions myPostBackOptions = new PostBackOptions(this); myPostBackOptions.ActionUrl = "Page2.aspx"; myPostBackOptions.AutoPostBack = false; myPostBackOptions.RequiresJavaScriptProtocol = true; myPostBackOptions.PerformValidation = true; // Add the client-side script to the HyperLink1 control. HyperLink1.NavigateUrl = Page.ClientScript.GetPostBackEventReference(myPostBackOptions); Label1.Text = "Click this hyperlink to initiate a postback event."; } }
前述の分離コード ファイルを実行するときに使用できる Web ページのコード例を次に示します。
<%@ Page Language="VB" AutoEventWireup="true" CodeFile="postbackoptions.aspx.vb" Inherits="postbackoptionsvb" %> <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html > <head id="Head1" runat="server"> <title>PostBackOptions Example</title> </head> <body> <form id="form1" runat="server"> <h3>PostBackOptions Example Page</h3> Click this button to create client-side script for the Postback hyperlink that causes a postback event to occur. <br /> <asp:Button id="Button1" runat="server" text="Create Script" onclick="Button1_Click" /> <br /><br /> <asp:Label id="Label1" runat="server" text=""></asp:Label> <br /> <asp:HyperLink id="HyperLink1" runat="server" text="Postback"></asp:HyperLink> <br /> </form> </body> </html>
<%@ Page Language="C#" AutoEventWireup="true" CodeFile="postbackoptions.aspx.cs" Inherits="postbackoptionscs" %> <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html > <head id="Head1" runat="server"> <title>PostBackOptions Example</title> </head> <body> <form id="form1" runat="server"> <h3>PostBackOptions Example Page</h3> Click this button to create client-side script for the Postback hyperlink that causes a postback event to occur. <br /> <asp:Button id="Button1" runat="server" text="Create Script" onclick="Button1_Click" /> <br /><br /> <asp:Label id="Label1" runat="server" text=""> </asp:Label> <br /> <asp:HyperLink id="HyperLink1" runat="server" text="Postback"> </asp:HyperLink> </form> </body> </html>

System.Web.UI.PostBackOptions


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
開発プラットフォームの中には、.NET Framework によってサポートされていないバージョンがあります。サポートされているバージョンについては、「システム要件」を参照してください。


- PostBackOptions クラスのページへのリンク