// Renders the TextBox.
 public virtual void RenderTextBox(WmlTextWriter writer, String id, String value, String format, String title, bool password, int size, int maxLength, bool generateRandomID) {
     if (!writer.AnalyzeMode) {
         // 
                         
         // VSWhidbey 147458.  Close any style tags.
         writer.CloseCurrentStyleTags();
         writer.WriteBeginTag("input");
         // Map the client ID to a short name. See
         // MapClientIDToShortName for details.
         writer.WriteAttribute("name", writer.MapClientIDToShortName(id, generateRandomID));
         if (password) {
             writer.WriteAttribute("type", "password");
         }
         if (!String.IsNullOrEmpty(format)) {
             writer.WriteAttribute("format", format);
         }
         if (!String.IsNullOrEmpty(title)) {
             writer.WriteAttribute("title", title, true);
         }
         if (size > 0) {
             writer.WriteAttribute("size", size.ToString(CultureInfo.InvariantCulture));
         }
         if (maxLength > 0) {
             writer.WriteAttribute("maxlength", maxLength.ToString(CultureInfo.InvariantCulture));
         }
         // We do not need a value attribute.  The Text value is populated by the client side var set in onenterforward.
         writer.WriteLine(" />");
         writer.OpenCurrentStyleTags();
     }
 }
Exemplo n.º 2
0
        // Renders the control.
        protected internal override void Render(HtmlTextWriter markupWriter)
        {
            WmlTextWriter writer = (WmlTextWriter)markupWriter;

            String value            = Control.Text;
            bool   requiresRandomID = false;
            bool   password         = Control.TextMode == TextBoxMode.Password;

            // writer.EnterLayout(Style);

            if (Control.TextMode == TextBoxMode.Password)
            {
                value = String.Empty;
                //
                requiresRandomID = true;
            }

            ((WmlPageAdapter)PageAdapter).RegisterPostField(writer, Control.UniqueID, Control.ClientID, true /* isDynamic */, requiresRandomID);

            if (!password)
            {
                // Add a form variable for the textbox to populate it.
                // We need to do this since OnEnterForward values override the value attribute -see WML 1.1 spec.
                // Do not add the form variable if the text mode is password, since we don't want it to be displayed on
                // the client.
                ((WmlPageAdapter)PageAdapter).AddFormVariable(writer, Control.ClientID, value, requiresRandomID);
                // Note: AddFormVariable calls MapClientIDToShortName.
            }
            else
            {
                // This is to make sure an id is determined in the first
                // pass, and this is done in AddFormVariable as well.
                writer.MapClientIDToShortName(Control.ClientID, requiresRandomID);
            }

            //

            RenderTextBox((WmlTextWriter)writer, Control.ClientID,
                          value,
                          null /* format */,
                          null /* title */,
                          password,
                          Control.Columns /* size */,
                          Control.MaxLength /* maxLength */,
                          requiresRandomID);
            // writer.ExitLayout(Style);
        }
        // Adds a form variable.
        public void AddFormVariable(WmlTextWriter writer, String clientID, String value, bool generateRandomID)
        {
            // On first (analyze) pass, form variables are added to
            // an array. On second pass, they are rendered. This ensures
            // that only visible controls generate variables.
            if (!writer.AnalyzeMode)
            {
                return;
            }
            if (_formVariables == null)
            {
                _formVariables = new ListDictionary();
            }

            // Map the client ID to a short name. See
            // MapClientIDToShortName for details.
            _formVariables[writer.MapClientIDToShortName(clientID, generateRandomID)] = value;
        }
        public void RegisterPostField(WmlTextWriter writer, string fieldName, string clientValue, bool isDynamic, bool random)
        {
            if (!writer.AnalyzeMode)
            {
                return;
            }

            if (isDynamic)
            {
                // Dynamic value.
                // Map the client ID to a short name. See
                // MapClientIDToShortName for details.
                _dynamicPostFields[fieldName] = writer.MapClientIDToShortName(clientValue, random);
            }
            else
            {
                _staticPostFields[fieldName] = clientValue;
            }
        }
Exemplo n.º 5
0
        // Renders the TextBox.
        public virtual void RenderTextBox(WmlTextWriter writer, String id, String value, String format, String title, bool password, int size, int maxLength, bool generateRandomID)
        {
            if (!writer.AnalyzeMode)
            {
                //

                // VSWhidbey 147458.  Close any style tags.
                writer.CloseCurrentStyleTags();
                writer.WriteBeginTag("input");
                // Map the client ID to a short name. See
                // MapClientIDToShortName for details.
                writer.WriteAttribute("name", writer.MapClientIDToShortName(id, generateRandomID));
                if (password)
                {
                    writer.WriteAttribute("type", "password");
                }
                if (!String.IsNullOrEmpty(format))
                {
                    writer.WriteAttribute("format", format);
                }
                if (!String.IsNullOrEmpty(title))
                {
                    writer.WriteAttribute("title", title, true);
                }
                if (size > 0)
                {
                    writer.WriteAttribute("size", size.ToString(CultureInfo.InvariantCulture));
                }
                if (maxLength > 0)
                {
                    writer.WriteAttribute("maxlength", maxLength.ToString(CultureInfo.InvariantCulture));
                }
                // We do not need a value attribute.  The Text value is populated by the client side var set in onenterforward.
                writer.WriteLine(" />");
                writer.OpenCurrentStyleTags();
            }
        }
 public void RenderSelectOptionAsAutoPostBack(WmlTextWriter writer, string text, string groupName, string value)
 {
     if (writer.AnalyzeMode)
     {
         return;
     }
     writer.WriteFullBeginTag("option");
     writer.WriteBeginTag("onevent");
     writer.WriteAttribute("type", "onpick");
     writer.Write(">");
     writer.WriteBeginTag("go");
     writer.WriteAttribute("href", "#" + WmlTextWriter.PostBackWithVarsCardID);
     writer.Write(">");
     writer.WriteBeginTag("setvar");
     writer.WriteAttribute("name", writer.MapClientIDToShortName(groupName, false));
     writer.WriteAttribute("value", value);
     writer.Write(" />");
     writer.WriteEndTag("go");
     writer.WriteEndTag("onevent");
     writer.WriteEncodedText(text);
     writer.WriteEndTag("option");
     _writtenPostBack  = true;
     _usePostBackCards = true;
 }
        // Adds a form variable.
        public void AddFormVariable(WmlTextWriter writer, String clientID, String value, bool generateRandomID) {
            // On first (analyze) pass, form variables are added to
            // an array. On second pass, they are rendered. This ensures
            // that only visible controls generate variables.
            if (!writer.AnalyzeMode) {
                return;
            }
            if (_formVariables == null) {
                _formVariables = new ListDictionary();
            }

            // Map the client ID to a short name. See
            // MapClientIDToShortName for details.
            _formVariables[writer.MapClientIDToShortName(clientID, generateRandomID)] = value;
        }
 public void RenderSelectOptionAsAutoPostBack(WmlTextWriter writer, string text, string groupName, string value) {
     if (writer.AnalyzeMode) {
         return;
     }
     writer.WriteFullBeginTag("option");
     writer.WriteBeginTag("onevent");
     writer.WriteAttribute("type", "onpick");
     writer.Write(">");
     writer.WriteBeginTag("go");
     writer.WriteAttribute("href", "#" + WmlTextWriter.PostBackWithVarsCardID);
     writer.Write(">");
     writer.WriteBeginTag("setvar");
     writer.WriteAttribute("name", writer.MapClientIDToShortName(groupName, false));
     writer.WriteAttribute("value", value);
     writer.Write(" />");
     writer.WriteEndTag("go");
     writer.WriteEndTag("onevent");
     writer.WriteEncodedText(text);
     writer.WriteEndTag("option");
     _writtenPostBack = true;
     _usePostBackCards = true;
 }
        public void RegisterPostField(WmlTextWriter writer, string fieldName, string clientValue, bool isDynamic, bool random) {
            if (!writer.AnalyzeMode) {
                return;
            }

            if (isDynamic) {
                // Dynamic value.
                // Map the client ID to a short name. See
                // MapClientIDToShortName for details.
                _dynamicPostFields[fieldName] = writer.MapClientIDToShortName(clientValue, random);
            }
            else {
                _staticPostFields[fieldName] = clientValue;
            }
        }