Skip to main content
.NET Framework Class Library
HtmlInputFile..::.OnPreRender Method

Raises the PreRender event for the HtmlInputFile control.

Namespace: System.Web.UI.HtmlControls
Assembly: System.Web (in System.Web.dll)
Syntax
Protected Friend Overrides Sub OnPreRender ( _
	e As EventArgs _
)
protected internal override void OnPreRender(
	EventArgs e
)
protected public:
virtual void OnPreRender(
	EventArgs^ e
) override
abstract OnPreRender : 
        e:EventArgs -> unit 
override OnPreRender : 
        e:EventArgs -> unit 

Parameters

e
Type: System..::.EventArgs
An EventArgs that contains event data.
Remarks

If no encoding is specified for the Web page's HtmlForm control, the Enctype property is set to "multipart/form-data".

Examples

The following code example demonstrates how to override the OnPreRender method so that a Title attribute is always added to each custom HtmlInputFile control. For this example to work properly, you need to create a directory called Temp on your computer's drive C.


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


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


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.");
        }
    }
}

Version Information

.NET Framework

Supported in: 4, 3.5, 3.0, 2.0, 1.1
Platforms

Windows 7, Windows Vista SP1 or later, Windows XP SP3, Windows XP SP2 x64 Edition, Windows Server 2008 (Server Core not supported), Windows Server 2008 R2 (Server Core supported with SP1 or later), Windows Server 2003 SP2

The .NET Framework does not support all versions of every platform. For a list of the supported versions, see .NET Framework System Requirements.