Freigeben über


HtmlInputFile.OnPreRender-Methode

Löst das PreRender-Ereignis für das HtmlInputFile-Steuerelement aus.

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

Syntax

'Declaration
Protected Friend Overrides Sub OnPreRender ( _
    e As EventArgs _
)
'Usage
Dim e As EventArgs

Me.OnPreRender(e)
protected internal override void OnPreRender (
    EventArgs e
)
protected public:
virtual void OnPreRender (
    EventArgs^ e
) override
protected void OnPreRender (
    EventArgs e
)
protected internal override function OnPreRender (
    e : EventArgs
)

Parameter

  • e
    Ein EventArgs, das Ereignisdaten enthält.

Hinweise

Wenn keine Codierung für das HtmlForm-Steuerelement der Webseite angegeben wird, wird die Enctype-Eigenschaft auf "multipart/form-data" festgelegt.

Beispiel

Im folgenden Codebeispiel wird das Überschreiben der OnPreRender-Methode veranschaulicht, sodass diese zu jedem benutzerdefinierten HtmlInputFile-Steuerelement immer ein Title-Attribut hinzufügt. Damit dieses Beispiel ordnungsgemäß ausgeführt werden kann, müssen Sie auf dem Laufwerk C des Computers ein Verzeichnis mit der Bezeichnung Temp erstellen.

<%@ Register TagPrefix="aspSample" Namespace="Samples.AspNet.VB.Controls" Assembly="Samples.AspNet.VB" %>
<%@ Page Language="VB" AutoEventWireup="True" %>

<script runat="server">
  
  Sub Button1_Click(ByVal source As Object, ByVal e As EventArgs)

    ' Make sure the file was submitted.  
    If HtmlInputText1.Value = "" Then
      
      Span1.InnerHtml = "Error: You must enter a file name."
    
    ' Save the file 
    ElseIf Not (HtmlInputFile1.PostedFile Is Nothing) Then

      Try
        
        HtmlInputFile1.PostedFile.SaveAs("c:\\temp\\" & HtmlInputText1.Value)
        Span1.InnerHtml = "File uploaded successfully to: <b>c:\temp\" _
                        & HtmlInputText1.Value & "</b> on the Web server."

      Catch exc As Exception
        
        Span1.InnerHtml = "Error saving <b>c:\temp\" _
                        & HtmlInputText1.Value & "</b><br>" _
                        & exc.ToString() & "."
        
      End Try
      
    End If
    
  End Sub
  
</script>

<html>
  <head>
    <title>Custom HtmlInputFile OnPreRender Example</title>
  </head>

  <body>
    <form enctype="multipart/form-data"
          runat="server">

      <h3>Custom HtmlInputFile OnPreRender Example</h3>

      Select File to Upload:
      <aspSample:CustomHtmlInputFileOnPreRender
        id="HtmlInputFile1"
        type="file"
        runat="server"
        name="HtmlInputFile1">

      <p>
      Save as file name (no path):
      <input id="HtmlInputText1"
        type="text"
        runat="server"
        name="Text1">

      </p>
      <p>
      <span id="Span1"
        style="font: 8pt verdana;"
        runat="server" />

      </p>
      <p>
      <input type="button"
        id="Button1"
        value="Upload"
        onserverclick="Button1_Click"
        runat="server"
        name="Button1">

      </p>

    </form>

  </body>
</html>
<%@ Register TagPrefix="aspSample" Namespace="Samples.AspNet.CS.Controls" Assembly="Samples.AspNet.CS" %>
<%@ Page Language="C#" AutoEventWireup="True" %>

<script runat="server">

  void Button1_Click(object Source, EventArgs e)
  {
    // Make sure a file was submitted.
    if (HtmlInputText1.Value == "")
    {
      
      Span1.InnerHtml = "Error: You must enter a file name.";
      
    }
      
    // Save the file.
    else if (HtmlInputFile1.PostedFile != null)
    {  
      try
      {
        
        HtmlInputFile1.PostedFile.SaveAs("c:\\temp\\" + HtmlInputText1.Value);
        Span1.InnerHtml = "File uploaded successfully to: <b>c:\\temp\\" + 
                           HtmlInputText1.Value + "</b> on the Web server.";
               
      }
      catch (Exception exc)
      {
        
        Span1.InnerHtml = "Error saving <b>c:\\temp\\" +
                           HtmlInputText1.Value + "</b><br>" + exc.ToString() + ".";
        
      }
      
    }
    
  }
</script>

<html>
  <head>
    <title>Custom HtmlInputFile OnPreRender Example</title>
  </head>
  <body>
    <form enctype="multipart/form-data"
          runat="server">

      <h3>Custom HtmlInputFile OnPreRender Example</h3>
 
      Select File to Upload:
      <aspSample:CustomHtmlInputFileOnPreRender
        id="HtmlInputFile1"
        type="file"
        runat="server"
        name="HtmlInputFile1">

      <p>
      Save as file name (no path):
      <input id="HtmlInputText1"
        type="text"
        runat="server"
        name="Text1">

      </p>
      <p>
      <span id="Span1"
        style="font: 8pt verdana;"
        runat="server" />

      </p>
      <p>
      <input type="button"
        id="Button1"
        value="Upload"
        onserverclick="Button1_Click"
        runat="server"
        name="Button1">

      </p>

    </form>

  </body>
</html>
<%@ Register TagPrefix="aspSample" Namespace="Samples.AspNet.JSL.Controls" Assembly="Samples.AspNet.JSL" %>
<%@ Page Language="VJ#" AutoEventWireup="True" %>
<HTML>
  <HEAD>
    <title>Custom HtmlInputFile - OnPreRender - VJ# Example</title>
    <script runat=server>
void Button1_Click(Object source, EventArgs e)
{
    if (HtmlInputText1.get_Value().Equals("")) {
        Span1.set_InnerHtml("Error: you must enter a file name");
    }
    else if (HtmlInputFile1.get_PostedFile() != null) {
        String tempPath = Environment.GetFolderPath(Environment.SpecialFolder.
            InternetCache) + "\\";
        try {
            HtmlInputFile1.get_PostedFile().SaveAs(tempPath + HtmlInputText1.
                get_Value());
            Span1.set_InnerHtml("File uploaded successfully to:<br><b>"
                + tempPath + HtmlInputText1.get_Value()
                + "</b><br>on the Web server");
        }
        catch (Exception ex) {
            Span1.set_InnerHtml("Error saving file:<br><b>"
                + tempPath + HtmlInputText1.get_Value() + "</b><br>"
                + ex.ToString());
        }
    }
} //Button1_Click
    </script>
  </HEAD>
  <body>
    <form id="Form1" method="post" runat="server" enctype="multipart/form-data">

      <h3>Custom HtmlInputFile - OnPreRender - VJ# Example</h3>

      Select File to Upload:
      <aspSample:CustomHtmlInputFileOnPreRender
        id="HtmlInputFile1"
        type="file"
        runat="server"
        name="HtmlInputFile1">
      </p>

      <p>
      Save as filename (no path):
      <input id="HtmlInputText1"
        type="text"
        runat="server"
        name="Text1">
      </p>
      <p>
      <span id="Span1"
        style="font: 8pt verdana;"
        runat="server" />
      </p>
      <p>
      <input type="button"
        id="Button1"
        value="Upload"
        OnServerClick="Button1_Click"
        runat="server"
        name="Button1">
      </p>

    </form>
  </body>
</HTML>
Imports System.Web
Imports System.Security.Permissions

Namespace Samples.AspNet.VB.Controls

    <AspNetHostingPermission(SecurityAction.Demand, Level:=AspNetHostingPermissionLevel.Minimal)> _
    Public NotInheritable Class CustomHtmlInputFileOnPreRender
        Inherits System.Web.UI.HtmlControls.HtmlInputFile

        Protected Overrides Sub OnPreRender(ByVal e As System.EventArgs)

            ' Call the base OnPreRender method.
            MyBase.OnPreRender(e)

            ' Add a Title attribute to the HtmlInputFile control.
            Me.Attributes.Add("title", "Click the Browse button to select a file to upload.")
        End Sub
    End Class

End Namespace
using System.Web;
using System.Security.Permissions;

namespace Samples.AspNet.CS.Controls
{
    [AspNetHostingPermission(SecurityAction.Demand, Level = AspNetHostingPermissionLevel.Minimal)]
    public sealed class CustomHtmlInputFileOnPreRender : System.Web.UI.HtmlControls.HtmlInputFile
    {
        protected override void OnPreRender(System.EventArgs e)
        {
            // Call the base OnPreRender method.
            base.OnPreRender(e);
            
            // Add a Title attribute to the HtmlInputFile control.
            this.Attributes.Add("title", "Click the Browse button to select a file to upload.");
        }
    }
}
package Samples.AspNet.JSL.Controls;

public class CustomHtmlInputFileOnPreRender
    extends System.Web.UI.HtmlControls.HtmlInputFile
{
    protected void OnPreRender(System.EventArgs e)
    {
        // Call the base OnPreRender method.
        super.OnPreRender(e);
        // Add a Title attribute to HtmlInputFile.
        this.get_Attributes().Add("title", 
            "Click the Browse button to select a file to upload.");
    } //OnPreRender
} //CustomHtmlInputFileOnPreRender

Plattformen

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

.NET Framework unterstützt nicht alle Versionen sämtlicher Plattformen. Eine Liste der unterstützten Versionen finden Sie unter Systemanforderungen.

Versionsinformationen

.NET Framework

Unterstützt in: 2.0, 1.1, 1.0

Siehe auch

Referenz

HtmlInputFile-Klasse
HtmlInputFile-Member
System.Web.UI.HtmlControls-Namespace
HtmlForm-Klasse
HtmlForm.Enctype-Eigenschaft
Control.OnPreRender
Control.PreRender

Weitere Ressourcen

HTML-Serversteuerelemente