All adapters render mobile controls using a special System.Web.UI.HtmlTextWriter that is customized for the type of markup. For example, device adapters that render cHTML use the ChtmlMobileTextWriter, and those that use WML use the WmlMobileTextWriter. All these classes inherit from the base MobileTextWriter, which defines the basic methods for writing, text, styles, and URL information.
public class MobileTextWriter : MultiPartWriter { // Public Constructors public MobileTextWriter(System.IO.TextWriter writer, System.Web.Mobile.MobileCapabilities device); // Public Instance Properties public MobileCapabilities Device{get; } public override bool SupportsMultiPart{get; } // overrides MultiPartWriter// Public Instance Methods public override void AddResource(string url, string contentType); // overrides MultiPartWriter public override void BeginFile(string url, string contentType, string charset); // overrides MultiPartWriter public override void BeginResponse( ); // overrides MultiPartWriter public override void EndFile( ); // overrides MultiPartWriter public override void EndResponse( ); // overrides MultiPartWriter public virtual void EnterFormat(System.Web.UI.MobileControls.Style style); public virtual void EnterLayout(System.Web.UI.MobileControls.Style style); public void EnterStyle(System.Web.UI.MobileControls.Style style); public virtual void ExitFormat(System.Web.UI.MobileControls.Style style); public virtual void ExitFormat(System.Web.UI.MobileControls.Style style, bool breakAfter); public virtual void ExitLayout(System.Web.UI.MobileControls.Style style); public virtual void ExitLayout(System.Web.UI.MobileControls.Style style, bool breakAfter); public void ExitStyle(System.Web.UI.MobileControls.Style style); public virtual void WriteEncodedText(string text); public virtual void WriteEncodedUrl(string url); public virtual void WriteEncodedUrlParameter(string urlText); // Protected Instance Methods protected void WriteUrlEncodedString(string s, bool argument); }