PostBackTrigger Klasse
Definition
Wichtig
Einige Informationen beziehen sich auf Vorabversionen, die vor dem Release ggf. grundlegend überarbeitet werden. Microsoft übernimmt hinsichtlich der hier bereitgestellten Informationen keine Gewährleistungen, seien sie ausdrücklich oder konkludent.
Definiert ein Steuerelement innerhalb eines UpdatePanel Steuerelements als Postbacksteuerelement.
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
- Vererbung
Beispiele
Das folgende Beispiel zeigt, wie Ein Steuerelement für ein PostBackTriggerUpdatePanel Steuerelement deklarativ definiert wird. In der Systemsteuerung ermöglicht ein FileUpload Steuerelement Benutzern das Hochladen einer Datei. Benutzer müssen zuerst überprüfen, ob die hochzuladende Datei vorhanden ist. Das Button Steuerelement, das den Ereignishandler aufruft, um den Dateinamen zu überprüfen, führt zu einem asynchronen Postback. Das Steuerelement, das die Datei hochlädt, Button wird jedoch als asynchron PostBackTriggerregistriert, da Dateien nicht asynchron hochgeladen werden können.
<%@ 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>
Hinweise
Verwenden Sie das PostBackTrigger Steuerelement, um Steuerelemente innerhalb eines UpdatePanel Steuerelements zu aktivieren, um einen Postback zu verursachen, anstatt einen asynchronen Postback auszuführen.
Verwenden Sie die RegisterPostBackControl Methode des ScriptManager Steuerelements, um ein Postbacksteuerelement programmgesteuert zu registrieren. Sie können dann die Update Methode des UpdatePanel Steuerelements aufrufen, wenn das Triggersteuerelement ein Postback ausführt.
Note
Das programmgesteuerte Hinzufügen von PostBackTrigger Steuerelementen wird nicht unterstützt.
Wenn ein Steuerelement sowohl PostBackTriggerAsyncPostBackTrigger als auch als Steuerelement festgelegt ist, wird eine Ausnahme ausgelöst.
Konstruktoren
| Name | Beschreibung |
|---|---|
| PostBackTrigger() |
Initialisiert eine neue Instanz der PostBackTrigger-Klasse. |
Eigenschaften
| Name | Beschreibung |
|---|---|
| ControlID |
Dient zum Abrufen oder Festlegen des Namens des Steuerelements, das ein PostBackTrigger Steuerelement für ein UpdatePanel Steuerelement ist. |
| Owner |
Ruft einen Verweis auf das UpdatePanel Steuerelement ab, das die UpdatePanelTrigger Ziele hat. (Geerbt von UpdatePanelTrigger) |
Methoden
| Name | Beschreibung |
|---|---|
| Equals(Object) |
Bestimmt, ob das angegebene Objekt dem aktuellen Objekt entspricht. (Geerbt von Object) |
| FindTargetControl(Boolean) |
Sucht nach dem steuerelement, das in der ControlID Eigenschaft angegeben ist. (Geerbt von UpdatePanelControlTrigger) |
| GetHashCode() |
Dient als Standardhashfunktion. (Geerbt von Object) |
| GetType() |
Ruft die Type der aktuellen Instanz ab. (Geerbt von Object) |
| HasTriggered() |
Gibt einen Wert zurück, der angibt, ob der Trigger aktiviert wurde. |
| Initialize() |
Initialisiert das PostBackTrigger-Objekt. |
| MemberwiseClone() |
Erstellt eine flache Kopie der aktuellen Object. (Geerbt von Object) |
| ToString() |
Gibt eine Zeichenfolge zurück, die das aktuelle PostBackTrigger Objekt darstellt. |