Click to Rate and Give Feedback
MSDN
MSDN Library
.NET Development
Previous Versions
.NET Framework 2.0
Button Class
Button Properties
 PostBackUrl Property

  Switch on low bandwidth view
This page is specific to
Microsoft Visual Studio 2005/.NET Framework 2.0

Other versions are also available for the following:

Want more? Here are some additional resources on this topic:

.NET Framework Class Library
Button.PostBackUrl Property

Note: This property is new in the .NET Framework version 2.0.

Gets or sets the URL of the page to post to from the current page when the Button control is clicked.

Namespace: System.Web.UI.WebControls
Assembly: System.Web (in system.web.dll)

Visual Basic (Declaration)
<ThemeableAttribute(False)> _
Public Overridable Property PostBackUrl As String
Visual Basic (Usage)
Dim instance As Button
Dim value As String

value = instance.PostBackUrl

instance.PostBackUrl = value
C#
[ThemeableAttribute(false)] 
public virtual string PostBackUrl { get; set; }
C++
[ThemeableAttribute(false)] 
public:
virtual property String^ PostBackUrl {
    String^ get ();
    void set (String^ value);
}
J#
/** @property */
public String get_PostBackUrl ()

/** @property */
public void set_PostBackUrl (String value)
JScript
public function get PostBackUrl () : String

public function set PostBackUrl (value : String)

Property Value

The URL of the Web page to post to from the current page when the Button control is clicked. The default value is an empty string (""), which causes the page to post back to itself.

The PostBackUrl property allows you to perform a cross-page post using the Button control. Set the PostBackUrl property to the URL of the Web page to post to when the Button control is clicked. For example, specifying Page2.aspx causes the page that contains the Button control to post to Page2.aspx. If you do not specify a value for the PostBackUrl property, the page posts back to itself.

NoteImportant:

When performing a cross-page postback with controls with server-side validation, you should check that the page's IsValid property is true before processing the postback. In the case of a cross-page postback, the page to check is the PreviousPage. The following VB code shows how this is done:

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

For more information on cross-page posting techniques, see Cross-Page Posting in ASP.NET Web Pages.

This property cannot be set by themes or style sheet themes. For more information, see ThemeableAttribute and ASP.NET Themes and Skins Overview.

The following code example demonstrates how to use the PostBackUrl property to perform a cross-page post. When the user clicks the Button control, the page posts the value entered in the text box to the target page specified by the PostBackUrl property. To run this sample, you must also create a file for the target page in the same directory as this code example. The code for target page is provided in the next example.

Visual Basic
<%@ page language="VB" %>

<html>
<head id="Head1" runat="server">
  <title>Button.PostBackUrl Example</title>
</head>
<body>    
  <form id="Form1" runat="server">
    
    <h3>Button.PostBackUrl Example</h3>

    Enter a value to post:
    <asp:textbox id="TextBox1" 
      runat=Server>
    </asp:textbox>

    <br><br />

    <asp:button id="Button1" 
      text="Post back to this page"
      runat="Server">
    </asp:button>

    <br /><br />

    <asp:button id="Button2"
      text="Post value to another page" 
      postbackurl="Button.PostBackUrlPage2vb.aspx" 
      runat="Server">
    </asp:button>

  </form>
</body>
</html>
C#
<%@ page language="C#" %>

<html>
<head id="Head1" runat="server">
  <title>Button.PostBackUrl Example</title>
</head>
<body>    
  <form id="Form1" runat="server">
    
    <h3>Button.PostBackUrl Example</h3>

    Enter a value to post:
    <asp:textbox id="TextBox1" 
      runat=Server>
    </asp:textbox>

    <br><br />

    <asp:button id="Button1" 
      text="Post back to this page"
      runat="Server">
    </asp:button>

    <br /><br />

    <asp:button id="Button2"
      text="Post value to another page" 
      postbackurl="Button.PostBackUrlPage2cs.aspx" 
      runat="Server">
    </asp:button>

  </form>
</body>
</html>

The following code example demonstrates how to use the Page.PreviousPage property to access a value that was posted from another page using the PostBackUrl property. This page gets the string that was posted from the previous page and displays it to the user. If you attempt to run this code example directly, you will get an error because the value of the text field will be a null reference (Nothing in Visual Basic). Instead, use this code to create a target page and place the file in the same directory as the code for the previous example. The name of the file must correspond to the value specified for the PostBackUrl property in the previous example. When you run the code for the previous example, this page will execute automatically when the cross page post occurs.

Visual Basic
<%@ page language="VB" %>

<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>
<head id="Head1" runat="server">
  <title>Button.PostBackUrl Target Page Example</title>
</head>
<body>
  <form id="Form1" runat="server">
    
    <h3>Button.PostBackUrl Target Page Example</h3>
       
    <br />
    
    <asp:label id="PostedLabel"
       runat=Server>
    </asp:label>

    </form>
</body>
</html>
C#
<%@ page language="C#" %>

<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>
<head id="Head1" runat="server">
  <title>Button.PostBackUrl Target Page Example</title>
</head>
<body>
  <form id="Form1" runat="server">
    
    <h3>Button.PostBackUrl Target Page Example</h3>
      
    <br />
    
    <asp:label id="PostedLabel"
       runat=Server>
    </asp:label>

    </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
Tags What's this?: Add a tag
Community Content   What is Community Content?
Add new content RSS  Annotations
Processing
© 2009 Microsoft Corporation. All rights reserved. Terms of Use  |  Trademarks  |  Privacy Statement
Page view tracker