PostBackTrigger PostBackTrigger PostBackTrigger PostBackTrigger Class

Определение

Определяет элемент управления внутри элемента управления UpdatePanel как элемент управления обратной передачей.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
Наследование

Примеры

В следующем примере показано, как декларативно определить PostBackTrigger элемент управления UpdatePanel для элемента управления.The following example shows how to declaratively define a PostBackTrigger control for an UpdatePanel control. На панели FileUpload элемент управления позволяет пользователям передать файл.In the panel, a FileUpload control enables users to upload a file. Сначала пользователи должны проверить, существует ли файл для отправки.Users must first check whether the file to upload exists. Button Элемент управления, вызывающий обработчик событий для проверки имени файла, вызывает асинхронную обратную передачу.The Button control that calls the event handler to check the file name causes an asynchronous postback. Однако элемент управления, который отправляет файл PostBackTrigger, регистрируется как, так как файлы не могут быть отправлены асинхронно. ButtonHowever, 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>

Комментарии

Используйте элемент управления, чтобы включить элементы управления UpdatePanel в, чтобы вызвать обратную передачу вместо асинхронной обратной передачи. PostBackTriggerUse the PostBackTrigger control to enable controls inside an UpdatePanel to cause a postback instead of performing an asynchronous postback.

RegisterPostBackControl Используйте метод ScriptManager элемента управления для программной регистрации элемента управления обратной передачи.Use the RegisterPostBackControl method of the ScriptManager control to programmatically register a postback control. Затем можно вызвать Update метод UpdatePanel элемента управления, когда элемент управления триггером выполняет обратную передачу.You can then call the Update method of the UpdatePanel control when the trigger control performs a postback.

Примечание

Программное PostBackTrigger Добавление элементов управления не поддерживается.Programmatically adding PostBackTrigger controls is not supported.

Если элемент управления задан как PostBackTrigger элемент управления и AsyncPostBackTrigger , возникает исключение.If a control is set as both a PostBackTrigger and AsyncPostBackTrigger control, an exception is thrown.

Конструкторы

PostBackTrigger() PostBackTrigger() PostBackTrigger() PostBackTrigger()

Инициализирует новый экземпляр класса PostBackTrigger.Initializes a new instance of the PostBackTrigger class.

Свойства

ControlID ControlID ControlID ControlID

Возвращает или задает имя элемента управления, являющегося элементом управления PostBackTrigger для элемента управления UpdatePanel.Gets or sets the name of the control that is an PostBackTrigger control for an UpdatePanel control.

Owner Owner Owner Owner

Возвращает ссылку на элемент управления UpdatePanel, который распространяется на UpdatePanelTrigger.Gets a reference to the UpdatePanel control that the UpdatePanelTrigger targets.

(Inherited from UpdatePanelTrigger)

Методы

Equals(Object) Equals(Object) Equals(Object) Equals(Object)

Определяет, равен ли заданный объект текущему объекту.Determines whether the specified object is equal to the current object.

(Inherited from Object)
FindTargetControl(Boolean) FindTargetControl(Boolean) FindTargetControl(Boolean) FindTargetControl(Boolean)

Производит поиск элемента управления, указанного в свойстве ControlID.Searches for the control specified in the ControlID property.

(Inherited from UpdatePanelControlTrigger)
GetHashCode() GetHashCode() GetHashCode() GetHashCode()

Служит хэш-функцией по умолчанию.Serves as the default hash function.

(Inherited from Object)
GetType() GetType() GetType() GetType()

Возвращает объект Type для текущего экземпляра.Gets the Type of the current instance.

(Inherited from Object)
HasTriggered() HasTriggered() HasTriggered() HasTriggered()

Возвращает значение, указывающее был ли активирован триггер.Returns a value that indicates whether the trigger was activated.

Initialize() Initialize() Initialize() Initialize()

Выполняет инициализацию объекта PostBackTrigger.Initializes the PostBackTrigger object.

MemberwiseClone() MemberwiseClone() MemberwiseClone() MemberwiseClone()

Создает неполную копию текущего объекта Object.Creates a shallow copy of the current Object.

(Inherited from Object)
ToString() ToString() ToString() ToString()

Возвращает строку, представляющую текущий объект PostBackTrigger.Returns a string that represents the current PostBackTrigger object.

Применяется к

Дополнительно