Comparteix a través de


HtmlInputFile.OnPreRender(EventArgs) Método

Definición

Genera el evento PreRender para el control HtmlInputFile.

protected:
 override void OnPreRender(EventArgs ^ e);
protected public:
 override void OnPreRender(EventArgs ^ e);
protected override void OnPreRender (EventArgs e);
protected internal override void OnPreRender (EventArgs e);
override this.OnPreRender : EventArgs -> unit
Protected Overrides Sub OnPreRender (e As EventArgs)
Protected Friend Overrides Sub OnPreRender (e As EventArgs)

Parámetros

e
EventArgs

EventArgs que contiene datos de eventos.

Ejemplos

En el ejemplo de código siguiente se muestra cómo invalidar el OnPreRender método para que siempre se agregue un Title atributo a cada control personalizado HtmlInputFile . Para que este ejemplo funcione correctamente, debe crear un directorio llamado Temp en la unidad C del equipo.

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

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
    "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<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 xmlns="http://www.w3.org/1999/xhtml" >
  <head>
    <title>Custom HtmlInputFile OnPreRender Example</title>
  </head>
  <body>
    <form id="form1" 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.VB.Controls" Assembly="Samples.AspNet.VB" %>
<%@ Page Language="VB" AutoEventWireup="True" %>

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
    "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<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 xmlns="http://www.w3.org/1999/xhtml" >
  <head>
    <title>Custom HtmlInputFile OnPreRender Example</title>
  </head>

  <body>
    <form id="form1" 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>
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.");
        }
    }
}
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

Comentarios

Si no se especifica ninguna codificación para el control de HtmlForm la página web, la Enctype propiedad se establece en "multipart/form-data".

Se aplica a

Consulte también