<?xml version="1.0" encoding="utf-8"?>
<Type Name="IStateFormatter" FullName="System.Web.UI.IStateFormatter">
  <TypeSignature Language="C#" Value="public interface IStateFormatter" />
  <AssemblyInfo>
    <AssemblyName>System.Web</AssemblyName>
    <AssemblyVersion>2.0.0.0</AssemblyVersion>
  </AssemblyInfo>
  <Interfaces />
  <Docs>
    <since version=".NET 2.0" />
    <remarks>
      <attribution license="cc4" from="Microsoft" modified="false" />
      <para>The <see cref="T:System.Web.UI.IStateFormatter" /> interface defines methods that a type can implement to serialize and deserialize the state that an ASP.NET Web server control maintains in its <see cref="P:System.Web.UI.Control.ViewState" /> property. This infrastructure is used by classes that derive from the <see cref="T:System.Web.UI.PageStatePersister" /> class to maintain an ASP.NET page's state between requests. By default, ASP.NET page state is serialized and deserialized by an instance of the <see cref="T:System.Web.UI.ObjectStateFormatter" /> class; however, site and adapter developers can implement the <see cref="T:System.Web.UI.IStateFormatter" /> interface on their own types to perform this work.</para>
      <para>For more information about Web server control state management and view state, see <format type="text/html"><a href="0218d965-5d30-445b-b6a6-8870e70e63ce">ASP.NET State Management Overview</a></format> and <format type="text/html"><a href="c1ea6a66-3307-4c98-8187-cad462e1c027">Dynamic Web Server Controls and View State</a></format>. </para>
    </remarks>
    <summary>
      <attribution license="cc4" from="Microsoft" modified="false" />
      <para>Defines methods that a type implements to serialize and deserialize an object graph. </para>
    </summary>
  </Docs>
  <Members>
    <Member MemberName="Deserialize">
      <MemberSignature Language="C#" Value="public object Deserialize (string serializationState);" />
      <MemberType>Method</MemberType>
      <ReturnValue>
        <ReturnType>System.Object</ReturnType>
      </ReturnValue>
      <Parameters>
        <Parameter Name="serializationState" Type="System.String" />
      </Parameters>
      <Docs>
        <param name="serializationState">To be added.</param>
        <since version=".NET 2.0" />
        <remarks>
          <attribution license="cc4" from="Microsoft" modified="false" />
          <para>Use the <see cref="M:System.Web.UI.IStateFormatter.Deserialize(System.String)" /> method to reconstitute the state object for an ASP.NET page or server control that has been serialized using the <see cref="M:System.Web.UI.IStateFormatter.Serialize(System.Object)" /> method. </para>
        </remarks>
        <summary>
          <attribution license="cc4" from="Microsoft" modified="false" />
          <para>Deserializes an object state graph from its serialized string form.</para>
        </summary>
        <returns>
          <attribution license="cc4" from="Microsoft" modified="false" />
          <para>An object that represents the state of an ASP.NET server control.</para>
        </returns>
      </Docs>
      <AssemblyInfo>
        <AssemblyVersion>2.0.0.0</AssemblyVersion>
      </AssemblyInfo>
    </Member>
    <Member MemberName="Serialize">
      <MemberSignature Language="C#" Value="public string Serialize (object state);" />
      <MemberType>Method</MemberType>
      <ReturnValue>
        <ReturnType>System.String</ReturnType>
      </ReturnValue>
      <Parameters>
        <Parameter Name="state" Type="System.Object" />
      </Parameters>
      <Docs>
        <since version=".NET 2.0" />
        <remarks>
          <attribution license="cc4" from="Microsoft" modified="false" />
          <para>Use the <see cref="M:System.Web.UI.IStateFormatter.Serialize(System.Object)" /> method to transform an object state graph to string form. Reconstitute a state object from the string using the <see cref="M:System.Web.UI.IStateFormatter.Deserialize(System.String)" /> method.</para>
        </remarks>
        <summary>
          <attribution license="cc4" from="Microsoft" modified="false" />
          <para>Serializes ASP.NET Web server control state to string form.</para>
        </summary>
        <returns>
          <attribution license="cc4" from="Microsoft" modified="false" />
          <para>A string that represents a Web server control's view state. </para>
        </returns>
        <param name="state">
          <attribution license="cc4" from="Microsoft" modified="false" />The object that represents the view state of the Web server control to serialize to string form.</param>
      </Docs>
      <AssemblyInfo>
        <AssemblyVersion>2.0.0.0</AssemblyVersion>
      </AssemblyInfo>
    </Member>
  </Members>
</Type>