This documentation is archived and is not being maintained.

ContentDisposition Class

Represents a MIME protocol Content-Disposition header.


Namespace:  System.Net.Mime
Assembly:  System (in System.dll)

public class ContentDisposition

The ContentDisposition type exposes the following members.

Public methodContentDisposition()Initializes a new instance of the ContentDisposition class with a DispositionType of Attachment.
Public methodContentDisposition(String)Initializes a new instance of the ContentDisposition class with the specified disposition information.

Public propertyCreationDateGets or sets the creation date for a file attachment.
Public propertyDispositionTypeGets or sets the disposition type for an e-mail attachment.
Public propertyFileNameGets or sets the suggested file name for an e-mail attachment.
Public propertyInlineGets or sets a Boolean value that determines the disposition type (Inline or Attachment) for an e-mail attachment.
Public propertyModificationDateGets or sets the modification date for a file attachment.
Public propertyParametersGets the parameters included in the Content-Disposition header represented by this instance.
Public propertyReadDateGets or sets the read date for a file attachment.
Public propertySizeGets or sets the size of a file attachment.

Public methodEqualsDetermines whether the content-disposition header of the specified ContentDisposition object is equal to the content-disposition header of this object. (Overrides Object.Equals(Object).)
Protected methodFinalizeAllows an object to try to free resources and perform other cleanup operations before it is reclaimed by garbage collection. (Inherited from Object.)
Public methodGetHashCodeDetermines the hash code of the specified ContentDisposition object (Overrides Object.GetHashCode().)
Public methodGetTypeGets the Type of the current instance. (Inherited from Object.)
Protected methodMemberwiseCloneCreates a shallow copy of the current Object. (Inherited from Object.)
Public methodToStringReturns a String representation of this instance. (Overrides Object.ToString().)

The information in the ContentDisposition class accompanies an e-mail message that contains attachments when the e-mail message is sent to its destination. The information in ContentDisposition can be used by software that displays e-mail to present the e-mail attachments in the manner intended by the sender.

E-mail messages are created using instances of the MailMessage class. Instances of the Attachment class are used to add attachments to e-mail messages. To modify the ContentDisposition for an attachment, get the instance from the Attachment.ContentDisposition property.

Content to be displayed as part of the message body has the disposition type of Inline. Content that is not displayed but is attached in a separate file has the disposition type of Attachment. Use the Inline property to control the disposition type for the attachment associated with an instance of ContentDisposition.

For file attachments, you can use the properties of the ContentDisposition to set the file size, as well as the date the file was created, last read, and last modified. For all attachments, you can set a recommended file name in the event that the attachment is stored on the receiving computer.

The ToString method returns the Content-Disposition header. The Content-Disposition header is described in RFC 2183 available at

The following code example creates an e-mail message with an attachment to be displayed inline.

		public static void CreateMessageInlineAttachment(string server, string
			// Create a message and set up the recipients.
			MailMessage message = new MailMessage(
			   "An inline text message for you.",
			   "Message: ");

			// Attach the message string to this e-mail message.
			Attachment data = new Attachment(textMessage, MediaTypeNames.Text.Plain);
			// Send textMessage as part of the e-mail body.
			ContentDisposition disposition = data.ContentDisposition;
			disposition.Inline = true;
			//Send the message.
			// Include credentials if the server requires them.
			SmtpClient client = new SmtpClient(server);
			client.Credentials = CredentialCache.DefaultNetworkCredentials;

	    try {
      catch (Exception ex) {
        Console.WriteLine("Exception caught in CreateMessageInlineAttachment: {0}", 
                    ex.ToString() );

.NET Framework

Supported in: 4, 3.5, 3.0, 2.0

.NET Framework Client Profile

Supported in: 4, 3.5 SP1

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.

Any public static (Shared in Visual Basic) members of this type are thread safe. Any instance members are not guaranteed to be thread safe.