PostBackTrigger Klasa

Definicja

Definiuje kontrolkę wewnątrz UpdatePanel kontrolki jako kontrolkę ogłaszania zwrotnego.Defines a control inside a UpdatePanel control as a postback control.

public ref class PostBackTrigger : System::Web::UI::UpdatePanelControlTrigger
public class PostBackTrigger : System.Web.UI.UpdatePanelControlTrigger
type PostBackTrigger = class
    inherit UpdatePanelControlTrigger
Public Class PostBackTrigger
Inherits UpdatePanelControlTrigger
Dziedziczenie

Przykłady

Poniższy przykład pokazuje, jak deklaratywnie zdefiniować PostBackTrigger formant dla UpdatePanel kontrolki.The following example shows how to declaratively define a PostBackTrigger control for an UpdatePanel control. W panelu FileUpload kontrolka umożliwia użytkownikom przekazywanie plików.In the panel, a FileUpload control enables users to upload a file. Użytkownicy muszą najpierw sprawdzić, czy plik do przekazania istnieje.Users must first check whether the file to upload exists. ButtonKontrolka, która wywołuje procedurę obsługi zdarzeń, aby sprawdzić, czy nazwa pliku powoduje asynchroniczne ogłaszanie zwrotne.The Button control that calls the event handler to check the file name causes an asynchronous postback. Jednak formant, Button który przekazuje plik jest zarejestrowany w PostBackTrigger , ponieważ nie można przekazać plików asynchronicznie.However, the Button control that uploads the file is registered as a PostBackTrigger, because files cannot be uploaded asynchronously.

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

    private string saveDir = @"Uploads\";
    
    protected void UploadButton_Click(object sender, EventArgs e)
    {
        if (FileUpload1.HasFile && FileUpload1.FileBytes.Length < 10000 &&
            !CheckForFileName())
        {
            string savePath = Request.PhysicalApplicationPath + saveDir +
                Server.HtmlEncode(FileName.Text);
            //Remove comment from the next line to upload file.
            //FileUpload1.SaveAs(savePath);
            UploadStatusLabel.Text = "The file was processed successfully.";
        }
        else
        {
            UploadStatusLabel.Text = "You did not specify a file to upload, or a file name, or the file was too large. Please try again.";
        }
    }

    protected void CheckButton_Click(object sender, EventArgs e)
    {
        if (FileName.Text.Length > 0)
        {
            string s = CheckForFileName() ? "exists already." : "does not exist.";
            UploadStatusLabel.Text = "The file name choosen " + s;
        }
        else
        {
            UploadStatusLabel.Text = "Specify a file name to check.";
        }
    }
    private Boolean CheckForFileName()
    {
        System.IO.FileInfo fi = new System.IO.FileInfo(Request.PhysicalApplicationPath + 
            saveDir + Server.HtmlEncode(FileName.Text));
            return fi.Exists;
    }

</script>

<html xmlns="http://www.w3.org/1999/xhtml" >
<head runat="server">
    <title>PostBackTrigger Example</title>
</head>
<body>
    <form id="form1" runat="server">
    <div>
    <asp:ScriptManager ID="ScriptManager1" runat="server" />
    The upload button is defined as a PostBackTrigger.<br/>
    <asp:UpdatePanel ID="UpdatePanel1" UpdateMode="Conditional" runat="server">
    <ContentTemplate>
    <fieldset>
    <legend>FileUpload in an UpdatePanel</legend>
       First, enter a file name to upload your file to: 
       <asp:TextBox ID="FileName" runat="server" />
       <asp:Button ID="CheckButton" Text="Check" runat="server" OnClick="CheckButton_Click" />
       <br />
       Then, browse and find the file to upload:
       <asp:FileUpload id="FileUpload1"                 
           runat="server">
       </asp:FileUpload>
       <br />
       <asp:Button id="UploadButton" 
           Text="Upload file"
           OnClick="UploadButton_Click"
           runat="server">
       </asp:Button>    
       <br />
       <asp:Label id="UploadStatusLabel"
           runat="server" style="color:red;">
       </asp:Label>           
    </fieldset>
    </ContentTemplate>
    <Triggers>
    <asp:PostBackTrigger ControlID="UploadButton" />
    </Triggers>
    </asp:UpdatePanel>
    </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">

    Private saveDir As String = "Uploads\\"

    Protected Sub UploadButton_Click(ByVal sender As Object, ByVal e As EventArgs)
        
        If (FileUpload1.HasFile AndAlso FileUpload1.FileBytes.Length < 10000 AndAlso _
           Not (CheckForFileName())) Then
            Dim savePath As String = Request.PhysicalApplicationPath & saveDir & _
               Server.HtmlEncode(FileName.Text)
            'Remove comment from the next line to upload file.
            'FileUpload1.SaveAs(savePath)
            UploadStatusLabel.Text = "The file was processed successfully."
        Else
            UploadStatusLabel.Text = "You did not specify a file to upload, or a file name, or the file was too large. Please try again."
        End If
        
    End Sub

    Protected Sub CheckButton_Click(ByVal sender As Object, ByVal e As EventArgs)
        If (FileName.Text.Length > 0) Then
            Dim s As String
            If (CheckForFileName()) Then
                s = "exists already."
            Else
                s = "does not exist."
            End If
            UploadStatusLabel.Text = "The file name choosen " & s
        Else
            UploadStatusLabel.Text = "Specify a file name to check."
        End If
    End Sub

    Private Function CheckForFileName() As Boolean
        Dim fi As New System.IO.FileInfo(Request.PhysicalApplicationPath & _
           saveDir & Server.HtmlEncode(FileName.Text))
        Return fi.Exists
    End Function

</script>

<html xmlns="http://www.w3.org/1999/xhtml" >
<head runat="server">
    <title>PostBackTrigger Example</title>
</head>
<body>
    <form id="form1" runat="server">
    <div>
    <asp:ScriptManager ID="ScriptManager1" runat="server" />
    The upload button is defined as a PostBackTrigger.<br/>
    <asp:UpdatePanel ID="UpdatePanel1" UpdateMode="Conditional" runat="server">
    <ContentTemplate>
    <fieldset>
    <legend>FileUpload in an UpdatePanel</legend>
       First, enter a file name to upload your file to: 
       <asp:TextBox ID="FileName" runat="server" />
       <asp:Button ID="CheckButton" Text="Check" runat="server" OnClick="CheckButton_Click" />
       <br />
       Then, browse and find the file to upload:
       <asp:FileUpload id="FileUpload1"                 
           runat="server">
       </asp:FileUpload>
       <br />
       <asp:Button id="UploadButton" 
           Text="Upload file"
           OnClick="UploadButton_Click"
           runat="server">
       </asp:Button>    
       <br />
       <asp:Label id="UploadStatusLabel"
           runat="server" style="color:red;">
       </asp:Label>           
    </fieldset>
    </ContentTemplate>
    <Triggers>
    <asp:PostBackTrigger ControlID="UploadButton" />
    </Triggers>
    </asp:UpdatePanel>
    </div>
    </form>
</body>
</html>

Uwagi

Użyj PostBackTrigger kontrolki, aby włączyć kontrolki w obrębie elementu, UpdatePanel Aby powodowały ogłaszanie zwrotne zamiast wykonywać asynchroniczne ogłaszanie zwrotne.Use the PostBackTrigger control to enable controls inside an UpdatePanel to cause a postback instead of performing an asynchronous postback.

Użyj RegisterPostBackControl metody ScriptManager kontrolki, aby programowo zarejestrować formant ogłaszania zwrotnego.Use the RegisterPostBackControl method of the ScriptManager control to programmatically register a postback control. Następnie można wywołać Update metodę UpdatePanel kontrolki, gdy kontrolka wyzwalacza wykonuje zwrotnie.You can then call the Update method of the UpdatePanel control when the trigger control performs a postback.

Uwaga

Programistyczne Dodawanie PostBackTrigger formantów nie jest obsługiwane.Programmatically adding PostBackTrigger controls is not supported.

Jeśli formant jest ustawiony jako PostBackTrigger AsyncPostBackTrigger kontrolka i, zostanie zgłoszony wyjątek.If a control is set as both a PostBackTrigger and AsyncPostBackTrigger control, an exception is thrown.

Konstruktory

PostBackTrigger()

Inicjuje nowe wystąpienie klasy PostBackTrigger.Initializes a new instance of the PostBackTrigger class.

Właściwości

ControlID

Pobiera lub ustawia nazwę kontrolki, która jest PostBackTrigger kontrolką dla UpdatePanel kontrolki.Gets or sets the name of the control that is an PostBackTrigger control for an UpdatePanel control.

Owner

Pobiera odwołanie do UpdatePanel kontrolki, którą UpdatePanelTrigger elementy docelowe.Gets a reference to the UpdatePanel control that the UpdatePanelTrigger targets.

(Odziedziczone po UpdatePanelTrigger)

Metody

Equals(Object)

Określa, czy dany obiekt jest taki sam, jak bieżący obiekt.Determines whether the specified object is equal to the current object.

(Odziedziczone po Object)
FindTargetControl(Boolean)

Wyszukuje formant określony we ControlID właściwości.Searches for the control specified in the ControlID property.

(Odziedziczone po UpdatePanelControlTrigger)
GetHashCode()

Służy jako domyślna funkcja skrótu.Serves as the default hash function.

(Odziedziczone po Object)
GetType()

Pobiera Type bieżące wystąpienie.Gets the Type of the current instance.

(Odziedziczone po Object)
HasTriggered()

Zwraca wartość wskazującą, czy wyzwalacz został aktywowany.Returns a value that indicates whether the trigger was activated.

Initialize()

Inicjuje PostBackTrigger obiekt.Initializes the PostBackTrigger object.

MemberwiseClone()

Tworzy skróconą kopię bieżącego elementu Object .Creates a shallow copy of the current Object.

(Odziedziczone po Object)
ToString()

Zwraca ciąg, który reprezentuje bieżący PostBackTrigger obiekt.Returns a string that represents the current PostBackTrigger object.

Dotyczy

Zobacz też