Button.PostBackUrl Özellik

Tanım

Denetim tıklatıldığında geçerli sayfadan gönderilecek sayfanın URL'sini Button alır veya ayarlar.

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

Özellik Değeri

String

Denetim tıklatıldığında geçerli sayfadan gönderilecek Web sayfasının URL'si Button . Varsayılan değer boş bir dizedir (""), bu da sayfanın kendisine geri göndermesine neden olur.

Uygulamalar

Öznitelikler

Örnekler

Aşağıdaki kod örneği, bir çapraz sayfa gönderisi gerçekleştirmek için özelliğinin PostBackUrl nasıl kullanılacağını gösterir. Kullanıcı denetime Button tıkladığında, sayfa metin kutusuna girilen değeri özelliği tarafından belirtilen hedef sayfaya PostBackUrl gönderir. Bu örneği çalıştırmak için, bu kod örneğiyle aynı dizinde hedef sayfa için de bir dosya oluşturmanız gerekir. Hedef sayfa kodu bir sonraki örnekte verilmiştir.

<%@ 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>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>
<%@ 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>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>

Aşağıdaki kod örneği özelliği kullanılarak başka bir sayfadan Page.PreviousPage gönderilen bir değere erişmek için özelliğinin PostBackUrl nasıl kullanılacağını gösterir. Bu sayfa, önceki sayfadan gönderilen dizeyi alır ve kullanıcıya görüntüler. Bu kod örneğini doğrudan çalıştırmayı denerseniz, alanın değeri text olacağı nulliçin bir hata alırsınız. Bunun yerine bu kodu kullanarak bir hedef sayfa oluşturun ve dosyayı önceki örnekteki kodla aynı dizine yerleştirin. Dosyanın adı, önceki örnekte özellik için belirtilen değere PostBackUrl karşılık gelir. Önceki örnekteki kodu çalıştırdığınızda, çapraz sayfa gönderisi gerçekleştiğinde bu sayfa otomatik olarak yürütülür.

Önemli

Bu örnekte, olası bir güvenlik tehdidi olan kullanıcı girişini kabul eden bir metin kutusu vardır. Varsayılan olarak, ASP.NET Web sayfaları kullanıcı girişinin betik veya HTML öğeleri içermediğini doğrular. Daha fazla bilgi için bkz. Betik Açıklarına Genel Bakış.

<%@ 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>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>
<%@ 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>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>

Açıklamalar

özelliği, PostBackUrl denetimi kullanarak çapraz sayfa gönderisi Button gerçekleştirmenizi sağlar.

Not

Yalnızca doğru belirtilen yollar bu özellik ile çalışır. Örneğin, göreli yollar (Test/default.aspx), mutlak yollar (https://localhost/WebApp/default.aspx) ve sanal (~\Test\default.aspx) düzgün çalışır. "/Test/default.aspx" veya "\Test\default.aspx" gibi yanlış biçimlendirilmiş yollar çalışmaz. Doğru yolları oluşturma hakkında bir tartışma için bkz. ASP.NET Web Project Yolları.

PostBackUrl Özelliği, denetim tıklatıldığında göndermek üzere Web sayfasının URL'sine Button ayarlayın. Örneğin, belirtilmesi Page2.aspx denetimi içeren Button sayfanın 'a göndermesine Page2.aspxneden olur. Özellik için PostBackUrl bir değer belirtmezseniz, sayfa kendisine geri gönderir.

Önemli

Sunucu tarafı doğrulamalı denetimlerle çapraz sayfa geri gönderme gerçekleştirirken, sayfanın IsValid özelliğinin geri göndermeyi işlemeden önce olup olmadığını true denetlemeniz gerekir. Çapraz sayfa geri gönderme durumunda denetlenecek sayfa olur PreviousPage. Aşağıdaki VB kodu bunun nasıl yapıldığını gösterir:

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

Çapraz sayfa deftere nakil teknikleri hakkında daha fazla bilgi için bkz. ASP.NET Web Forms'da Çapraz Sayfa Deftere Nakil.

Bu özellik temalar veya stil sayfası temaları tarafından ayarlanamaz. Daha fazla bilgi için bkzThemeableAttribute. temalar ve dış görünümler ASP.NET.

Şunlara uygulanır

Ayrıca bkz.