ImageButton.PostBackUrl プロパティ
定義
重要
一部の情報は、リリース前に大きく変更される可能性があるプレリリースされた製品に関するものです。 Microsoft は、ここに記載されている情報について、明示または黙示を問わず、一切保証しません。
ImageButton コントロールがクリックされたときに現在のページからのポスト先となるページの URL を取得または設定します。
public:
virtual property System::String ^ PostBackUrl { System::String ^ get(); void set(System::String ^ value); };
[System.Web.UI.Themeable(false)]
public virtual string PostBackUrl { get; set; }
[<System.Web.UI.Themeable(false)>]
member this.PostBackUrl : string with get, set
Public Overridable Property PostBackUrl As String
プロパティ値
ImageButton コントロールがクリックされたときに現在のページからのポスト先となる Web ページの URL。 既定値は空の文字列 ("") です。この場合、ページはそのページ自体にポストバックされます。
実装
- 属性
例
次のコード例では、 プロパティを使用 PostBackUrl してクロスページ投稿を実行する方法を示します。 ユーザーがコントロールを ImageButton クリックすると、テキスト ボックスに入力された値が、 プロパティで指定されたターゲット ページに PostBackUrl ポストされます。 このサンプルを実行するには、このコード例と同じディレクトリにターゲット ページ用のファイルを作成する必要もあります。 ターゲット ページのコードは、次の例で示します。
<%@ page language="C#" %>
<!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 id="head1" runat="server">
<title>ImageButton.PostBackUrl Example</title>
</head>
<body>
<form id="form1" runat="server">
<h3>ImageButton.PostBackUrl Example</h3>
Enter a value to post:
<asp:textbox id="TextBox1"
runat="Server">
</asp:textbox>
<br /><br />
<asp:imagebutton id="ImageButton1"
imageUrl=""
alternatetext="Post back to this page"
runat="Server">
</asp:imagebutton>
<br /><br />
<asp:imagebutton id="ImageButton2"
imageUrl=""
alternatetext="Post value to another page"
postbackurl="ImageButton.PostBackUrlPage2cs.aspx"
runat="Server">
</asp:imagebutton>
</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">
<html xmlns="http://www.w3.org/1999/xhtml" >
<head id="head1" runat="server">
<title>ImageButton.PostBackUrl Example</title>
</head>
<body>
<form id="form1" runat="server">
<h3>ImageButton.PostBackUrl Example</h3>
Enter a value to post:
<asp:textbox id="TextBox1"
runat="Server">
</asp:textbox>
<br /><br />
<asp:imagebutton id="PostImageButton"
imageUrl="Images\PostButton.jpg"
alternatetext="Post back to this page"
runat="Server">
</asp:imagebutton>
<br /><br />
<asp:imagebutton id="CrossPostImageButton"
imageUrl="Images\CrossPostButton.jpg"
alternatetext="Post value to another page"
postbackurl="ImageButton.PostBackUrlPage2vb.aspx"
runat="Server">
</asp:imagebutton>
</form>
</body>
</html>
次のコード例では、 プロパティを使用して、 プロパティを Page.PreviousPage 使用して別のページから投稿された値にアクセスする方法を PostBackUrl 示します。 このページは、前のページから投稿された文字列を取得し、ユーザーに表示します。 このコード例を直接実行しようとすると、フィールドの Text
値が であるため、エラーが発生します null
。 代わりに、このコードを使用してターゲット ページを作成し、前の例のコードと同じディレクトリにファイルを配置します。 ファイルの名前は、前の例の プロパティに指定 PostBackUrl した値に対応している必要があります。 前の例のコードを実行すると、ページ間の投稿が行われると、このページが自動的に実行されます。
注意
次のコード サンプルでは、単一ファイルコード モデルを使用しており、分離コード ファイルに直接コピーすると正しく動作しない場合があります。 このコード サンプルは、.aspx拡張子を持つ空のテキスト ファイルにコピーする必要があります。 Web フォーム コード モデルの詳細については、「ASP.NET Web フォーム ページ コード モデル」を参照してください。
<%@ 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">
void Page_Load (object sender, System.EventArgs e)
{
string text;
// Get the value of TextBox1 from the page that
// posted to this page.
text = ((TextBox)PreviousPage.FindControl("TextBox1")).Text;
// Check for an empty string.
if (text != "")
PostedLabel.Text = "The string posted from the previous page is "
+ text + ".";
else
PostedLabel.Text = "An empty string was posted from the previous page.";
}
</script>
<html xmlns="http://www.w3.org/1999/xhtml" >
<head id="head1" runat="server">
<title>ImageButton.PostBackUrl Target Page Example</title>
</head>
<body>
<form id="form1" runat="server">
<h3>ImageButton.PostBackUrl Target Page Example</h3>
<br />
<asp:label id="PostedLabel"
runat="Server">
</asp:label>
</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">
Sub Page_Load(ByVal sender As System.Object, ByVal e As System.EventArgs)
Dim text As String
' Get the value of TextBox1 from the page that posted
' to this page.
text = CType((PreviousPage.FindControl("TextBox1")), TextBox).Text
' Check for an empty string.
If Not (text = "") Then
PostedLabel.Text = "The string posted from the previous page is " _
& text & "."
Else
PostedLabel.Text = "An empty string was posted from the previous page."
End If
End Sub
</script>
<html xmlns="http://www.w3.org/1999/xhtml" >
<head id="head1" runat="server">
<title>ImageButton.PostBackUrl Target Page Example</title>
</head>
<body>
<form id="form1" runat="server">
<h3>ImageButton.PostBackUrl Target Page Example</h3>
<br />
<asp:label id="PostedLabel"
runat="Server">
</asp:label>
</form>
</body>
</html>
注釈
PostBackUrlプロパティを使用すると、 コントロールを使用してクロスページ投稿をImageButton実行できます。 プロパティを PostBackUrl 、コントロールがクリックされたときに投稿する Web ページの ImageButton URL に設定します。 たとえば、 を Page2.aspx
指定すると、コントロールを含むページが ImageButton に Page2.aspx
ポストされます。 プロパティの値 PostBackUrl を指定しない場合、ページはそれ自体にポストバックされます。
重要
サーバー側の検証を使用してコントロールを使用してページ間ポストバックを実行する場合は、ポストバックを処理する前にページの IsValid プロパティが true
であることを確認する必要があります。 ページ間ポストバックの場合、確認するページは PreviousPage です。 次の Visual Basic コードは、この方法を示しています。
Sub Page_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load
If Page.PreviousPage.IsValid Then
' Handle the post back
Else
Response.Write("Invalid")
End If
End Sub
クロスページ投稿手法の詳細については、「 ASP.NET Web フォームでのクロスページ投稿」を参照してください。
このプロパティは、テーマまたはスタイル シート テーマによって設定することはできません。 詳細については、「テーマとスキン」と「ASP.NET」を参照してくださいThemeableAttribute。
適用対象
こちらもご覧ください
.NET