// If the form action corresponds to a cross page post, render the referrer page in a post field. private void RenderReferrerPagePostField(WmlTextWriter writer) { if (Page.ContainsCrossPagePost) { writer.WritePostField(Page.previousPageID, Page.EncryptString(Page.Request.CurrentExecutionFilePath)); } }
// Render a postfield dictionary with variable values. private void RenderPostFieldVariableDictionary(WmlTextWriter writer, IDictionary postFieldDictionary) { foreach (DictionaryEntry entry in postFieldDictionary) { writer.WritePostFieldVariable((string)entry.Key, (string)entry.Value); } }
public virtual void RenderSelectOptionAsPostBack(WmlTextWriter writer, string text, String target, String argument) { 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(">"); if (!String.IsNullOrEmpty(target)) { writer.WriteBeginTag("setvar"); writer.WriteAttribute("name", _postBackEventTargetVarName); writer.WriteAttribute("value", target); writer.Write(" />"); } if (!String.IsNullOrEmpty(argument)) { writer.WriteBeginTag("setvar"); writer.WriteAttribute("name", _postBackEventArgumentVarName); writer.WriteAttribute("value", argument); writer.Write(" />"); } writer.WriteEndTag("go"); writer.WriteEndTag("onevent"); writer.WriteEncodedText(text); writer.WriteEndTag("option"); _writtenPostBack = true; _usePostBackCards = true; }
protected internal override void Render(HtmlTextWriter markupWriter) { WmlTextWriter writer = (WmlTextWriter)markupWriter; // If control is not enabled, don't render it at // all for WML. if (!Control.Enabled) { RenderDisabled(writer); return; } ((WmlPageAdapter)PageAdapter).RegisterPostField(writer, Control); // determine if control is already checked. // if so, set initial value. _ivalue = Control.Checked ? "1" : String.Empty; ((WmlPageAdapter)PageAdapter).AddFormVariable(writer, Control.ClientID, _ivalue, false /* randomID */); // does not render __ivalue if null or form variables written. writer.WriteBeginSelect(null, null, Control.ClientID, _ivalue, Control.ToolTip, true /* multiselect*/); if (Control.AutoPostBack) { ((WmlPageAdapter)PageAdapter).RenderSelectOptionAsAutoPostBack(writer, Control.Text, null); } else { ((WmlPageAdapter)PageAdapter).RenderSelectOption(writer, Control.Text); } writer.WriteEndSelect(); }
// Render postfields for the event target and the event argument. private void RenderTargetAndArgumentPostFields(WmlTextWriter writer, string target, string argument, WmlPostFieldType postFieldType) { // Write the event target. if (target != null) { writer.WritePostField(Page.postEventSourceID, target); } else { // Target is null when the action is generated from a postback // card itself. In this case, set the event target to whatever // the original event target was. writer.WritePostFieldVariable(Page.postEventSourceID, _postBackEventTargetVarName); } // Write the event argument, if valid. if (argument != null) { if (postFieldType == WmlPostFieldType.Variable) { writer.WritePostFieldVariable(Page.postEventArgumentID, argument); } else { writer.WritePostField(Page.postEventArgumentID, argument); } } }
// Renders the end of the form. protected internal virtual void RenderEndForm(WmlTextWriter writer) { writer.CloseParagraph(); writer.Indent--; writer.WriteEndTag("card"); writer.WriteLine(); }
protected internal override void Render(HtmlTextWriter markupWriter) { WmlTextWriter writer = (WmlTextWriter)markupWriter; String source = Control.ImageUrl; String text = Control.AlternateText; writer.EnterStyle(Control.ControlStyle); // writer.EnterLayout(Style); if (source != null && source.Length == 0) { // Just write the alternate as text writer.WriteEncodedText(text); } else { String localSource; string symbolProtocol = "symbol:"; if (StringUtil.StringStartsWith(source, symbolProtocol)) { localSource = source.Substring(symbolProtocol.Length); source = String.Empty; } else { localSource = null; // AUI 3652 source = Control.ResolveClientUrl(source); } writer.RenderImage(source, localSource, text); } writer.ExitStyle(Control.ControlStyle); }
protected internal override void Render(HtmlTextWriter markupWriter) { WmlTextWriter writer = (WmlTextWriter)markupWriter; string postUrl = Control.PostBackUrl; if (!String.IsNullOrEmpty(postUrl)) { postUrl = Control.ResolveClientUrl(Control.PostBackUrl); } // if (Page != null && Page.Request != null && (String)Page.Request.Browser["supportsImageSubmit"] == "false") { writer.EnterStyle(Control.ControlStyle); PageAdapter.RenderPostBackEvent(writer, Control.UniqueID /* target */, "EA" /* argument, placeholder only */, Control.SoftkeyLabel, Control.AlternateText, postUrl, null /* accesskey */); writer.ExitStyle(Control.ControlStyle); return; } writer.EnterStyle(Control.ControlStyle); ((WmlPageAdapter)PageAdapter).RenderBeginPostBack(writer, Control.SoftkeyLabel /* maps to title attribute, Whidbey 10732 */, Control.AccessKey); base.Render(writer); ((WmlPageAdapter)PageAdapter).RenderEndPostBack(writer, Control.UniqueID, "EA" /* argument, placeholder only */, postUrl); writer.ExitStyle(Control.ControlStyle); }
public virtual void Render(WmlTextWriter writer) { LiteralMode mode = Control.Mode; if (mode == LiteralMode.PassThrough || mode == LiteralMode.Encode) { Style emptyStyle = new Style(); writer.BeginRender(); writer.EnterStyle(emptyStyle); // VSWhidbey 114083 if (mode == LiteralMode.PassThrough) { writer.Write(Control.Text); } else /* mode == LiteralMode.Encode */ { writer.WriteEncodedText(Control.Text); } writer.ExitStyle(emptyStyle); writer.EndRender(); return; } /* mode == LiteralMode.Transform */ ((WmlPageAdapter)PageAdapter).RenderTransformedText(writer, Control.Text); }
protected internal override void Render(HtmlTextWriter writer) { WmlTextWriter wmlWriter = (WmlTextWriter) writer; if (wmlWriter.AnalyzeMode) { return; } if (Control.DoPostCacheSubstitutionAsNeeded(writer)) { return; } // This is to work around the issue that WmlTextWriter has its // state info for rendering block level elements, such as <p> tag. // We keep the state info for subsequent PostCache Render call below. // // e.g. If the ad is at the beginning of the form, we need to // call the method below to explicitly write out a <p> tag for // a valid WML output. if (_wmlTopOfForm) { wmlWriter.BeginRender(); } if (_firstTimeRender) { _wmlTopOfForm = wmlWriter.TopOfForm; _firstTimeRender = false; } RenderHyperLinkAsAd(writer); }
// 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(); } }
// Renders the beginning of the form. // protected internal virtual void RenderBeginForm(WmlTextWriter writer) { RenderBeginCardTag(writer); // Write form variables. // _writtenFormVariables = true; if (_formVariables == null) { _formVariables = new ListDictionary(); } _formVariables[_postBackEventTargetVarName] = String.Empty; // Whidbey 18260 _formVariables[_postBackEventArgumentVarName] = String.Empty; writer.Write("<onevent type=\"onenterforward\"><refresh>"); RenderSetFormVariables(writer); RenderPostUrlFormVariable(writer); writer.WriteLine("</refresh></onevent>"); writer.Write("<onevent type=\"onenterbackward\"><refresh>"); RenderSetFormVariables(writer); RenderPostUrlFormVariable(writer); writer.WriteLine("</refresh></onevent>"); // writer.BeginFormOrPanel(); }
protected internal override void Render(HtmlTextWriter writer) { WmlTextWriter wmlWriter = (WmlTextWriter)writer; if (Page.Form == null) { throw new HttpException(SR.GetString(SR.PageAdapter_MustHaveFormRunatServer)); } if (Page.HasRenderDelegate()) { throw new HttpException(SR.GetString(SR.PageAdapter_RenderDelegateMustBeInServerForm)); } if (RequiresUTF8ContentEncoding()) { Page.Response.ContentEncoding = _utf8Encoding; } InitializeWriter(wmlWriter); RenderXmlHeader(wmlWriter); wmlWriter.WriteFullBeginTag("wml"); RenderCacheExpiry(wmlWriter); HtmlForm form = Page.Form; AnalyzeAndRenderHtmlForm(wmlWriter, form); RenderPostBackCard(wmlWriter); wmlWriter.WriteEndTag("wml"); }
private void RenderGoActionToPostbackCard(WmlTextWriter writer, String target, String argument, String postUrl) { // If using postback cards, render a go action to the given // postback card, along with setvars setting the target and // argument. writer.WriteBeginTag("go"); writer.Write(" href=\""); _writtenPostBack = true; writer.Write("#"); writer.Write(WmlTextWriter.PostBackWithVarsCardID); writer.Write("\">"); writer.WriteBeginTag("setvar"); writer.WriteAttribute("name", _postBackEventTargetVarName); writer.WriteAttribute("value", target); writer.Write("/>"); writer.WriteBeginTag("setvar"); writer.WriteAttribute("name", _postBackEventArgumentVarName); writer.Write(" value=\""); if (argument != null) { writer.WriteEncodedText(argument); } writer.Write("\"/>"); if (!String.IsNullOrEmpty(postUrl)) { writer.WriteBeginTag("setvar"); writer.WriteAttribute("name", _postUrlVarName); writer.Write(" value=\""); writer.WriteEncodedUrl(postUrl); writer.Write("\"/>"); } writer.WriteEndTag("go"); }
// Renders the beginning of the form. // UNDONE: Remove internal modifier when method is completely removed from writer. protected internal virtual void RenderBeginForm(WmlTextWriter writer) { RenderBeginCardTag(writer); // Write form variables. // UNDONE: Move writer._provideBackButton to this adapter. // Review: In V1 we had a writer.ProvideBackButton property, is there any need for this with (more advanced) // whidbey devices? _writtenFormVariables = true; if (_formVariables == null) { _formVariables = new ListDictionary(); } _formVariables[_postBackEventTargetVarName] = String.Empty; // Whidbey 18260 _formVariables[_postBackEventArgumentVarName] = String.Empty; writer.Write("<onevent type=\"onenterforward\"><refresh>"); RenderSetFormVariables(writer); RenderPostUrlFormVariable(writer); writer.WriteLine("</refresh></onevent>"); writer.Write("<onevent type=\"onenterbackward\"><refresh>"); RenderSetFormVariables(writer); RenderPostUrlFormVariable(writer); writer.WriteLine("</refresh></onevent>"); // UNDONE: formAdapter.RenderExtraCardElements(this); writer.BeginFormOrPanel(); }
// Extracted into separate method for intelligibility. private void BeginForm(WmlTextWriter writer) { _writtenFormVariables = false; if (!writer.AnalyzeMode) { RenderBeginForm(writer); } }
protected virtual void RenderForm(WmlTextWriter writer, HtmlForm form) { Page.OnFormRender(); BeginForm(writer); form.RenderChildren(writer); EndForm(writer); Page.OnFormPostRender(); }
// Render the method attribute of a go action. private void RenderFormMethodAttribute(WmlTextWriter writer, string method) { // Method defaults to get in WML, so write it if it's not. if (StringUtil.EqualsIgnoreCase(method, "post")) { writer.WriteAttribute("method", "post"); } }
protected internal override void Render(HtmlTextWriter markupWriter) { WmlTextWriter writer = (WmlTextWriter)markupWriter; if (writer.AnalyzeMode) { return; } Control.RenderMarkup(writer); }
private void RenderSetFormVariables(WmlTextWriter writer) { foreach (DictionaryEntry entry in _formVariables) { writer.WriteBeginTag("setvar"); writer.WriteAttribute("name", (String)entry.Key); writer.WriteAttribute("value", (String)entry.Value, true); writer.Write(" />"); } }
// Render a select option. public virtual void RenderSelectOption(WmlTextWriter writer, string text) { if (writer.AnalyzeMode) { return; } writer.WriteFullBeginTag("option"); writer.WriteEncodedText(text); writer.WriteEndTag("option"); }
internal virtual void RenderSelectOption(WmlTextWriter writer, ListItem item) { if (Control.AutoPostBack) { ((WmlPageAdapter)PageAdapter).RenderSelectOptionAsAutoPostBack(writer, item.Text, null); } else { ((WmlPageAdapter)PageAdapter).RenderSelectOption(writer, item.Text); } }
// Renders the cache expiry as a header or meta element. private void RenderCacheExpiry(WmlTextWriter writer) { if (!StringUtil.EqualsIgnoreCase(Browser["SupportsCacheControlMetaTag"], "false")) { writer.Write(_cacheExpiry); } else { Page.Response.AppendHeader("Cache-Control", "max-age=0"); } }
public override void RenderEndHyperlink(HtmlTextWriter writer) { WmlTextWriter wmlWriter = (WmlTextWriter)writer; if (wmlWriter.AnalyzeMode) { return; } wmlWriter.WriteEndTag("a"); }
public virtual void RenderGoAction(WmlTextWriter writer, String target, String argument, String postUrl) { if (UsePostBackCard()) { RenderGoActionToPostbackCard(writer, target, argument, postUrl); } else { RenderFormPostInGoAction(writer, target, argument, WmlPostFieldType.Normal, postUrl); } }
// protected internal override void Render(HtmlTextWriter writer) { WmlTextWriter wmlWriter = writer as WmlTextWriter; if (wmlWriter == null) { // MMIT legacy case (else pageAdapter would have generated a WmlTextWriter). Control.Render(writer); return; } Render(wmlWriter); }
private void RenderXmlHeader(WmlTextWriter writer) { writer.Write(_headerBegin); String charset = Page.Response.Charset; if (charset != null && charset.Length > 0 && !StringUtil.EqualsIgnoreCase(charset, "utf-8")) { writer.Write(String.Format(_headerEncoding, charset)); } writer.Write(_headerEnd); }
private void RenderPostBackUrl(WmlTextWriter writer, string path) { if ((String)Browser["requiresAbsolutePostbackUrl"] == "true" && Page != null && Page.Request != null && Page.Response != null) { // ApplyAppPathModifier makes the path absolute writer.WriteEncodedUrl(Page.Response.ApplyAppPathModifier(path)); } else { writer.WriteEncodedUrl(path); } }
// Render a postfield for view state or control state. private void RenderStatePostField(WmlTextWriter writer, string stateName, string stateValue) { if (stateValue == null) { return; } if (Browser["requiresSpecialViewStateEncoding"] == "true") { stateValue = ((WmlPageAdapter)Page.Adapter).EncodeSpecialViewState(stateValue); } writer.WritePostField(stateName, stateValue); }
private void EndForm(WmlTextWriter writer) { if (writer.AnalyzeMode) { // Analyze form when done. ((WmlPageAdapter)PageAdapter).PostAnalyzeForm(); } else { RenderEndForm(writer); } }
private void RenderPostUrlFormVariable(WmlTextWriter writer) { if (Page.ContainsCrossPagePost) { writer.WriteBeginTag("setvar"); writer.WriteAttribute("name", _postUrlVarName); writer.Write(" value=\""); RenderPostBackUrl(writer, Page.RelativeFilePath); RenderFormQueryString(writer, QueryString); writer.Write("\" />"); } }
internal override void RenderSelectOption(WmlTextWriter writer, ListItem item) { // We don't do autopostback if the radio button has been selected. // This is to make it consistent that it only posts back if its // state has been changed. Also, it avoids the problem of missing // validation since the data changed event would not be fired if the // selected radio button was posting back. if (Control.AutoPostBack && item.Selected) { ((WmlPageAdapter)PageAdapter).RenderSelectOption(writer, item.Text); } else { base.RenderSelectOption(writer, item); } }
// 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; }
// Renders postback cards. private void RenderPostBackCard(WmlTextWriter writer) { if (!_writtenPostBack) { return; } writer.WriteBeginTag("card"); writer.WriteAttribute("id", WmlTextWriter.PostBackWithVarsCardID); writer.WriteLine(">"); writer.Write("<onevent type=\"onenterforward\">"); RenderFormPostInGoAction(writer, null, _postBackEventArgumentVarName, WmlPostFieldType.Variable, String.Empty); // writer.WriteLine("</onevent>"); writer.WriteLine("<onevent type=\"onenterbackward\"><prev /></onevent>"); writer.WriteLine("</card>"); }
public void RenderSelectOptionAsAutoPostBack(WmlTextWriter writer, string text, string value) { if (writer.AnalyzeMode) { return; } writer.WriteBeginTag("option"); if (!String.IsNullOrEmpty(value)) { writer.WriteAttribute("value", value, true); } writer.WriteAttribute("onpick", "#" + WmlTextWriter.PostBackWithVarsCardID); writer.Write(">"); writer.WriteEncodedText(text); writer.WriteEndTag("option"); // force use of postback cards with variables. _writtenPostBack = true; _usePostBackCards = true; }
// Render a postfield for view state or control state. private void RenderStatePostField(WmlTextWriter writer, string stateName, string stateValue) { if (stateValue == null) { return; } if (Browser["requiresSpecialViewStateEncoding"] == "true") { stateValue = ((WmlPageAdapter) Page.Adapter).EncodeSpecialViewState(stateValue); } writer.WritePostField(stateName, stateValue); }
// Transforms text for the target device. The default transformation is the identity transformation, // which does not change the text. internal void RenderTransformedText(WmlTextWriter writer, string text) { bool leadingSpace = false; bool setPendingP = false; bool trailingSpace = false; // p's replaced by brs as in MMIT V1 for valid containment. text = LiteralControlAdapterUtility.PreprocessLiteralText(text); bool isEmpty = (text != null && text.Length == 0); if (isEmpty) { return; } if (writer.TopOfForm) { while (Regex.IsMatch(text, "^(?'space'\\s*)(?:<p|</p)\\s*>")) { text = Regex.Replace(text, "^(?'space'\\s*)(?:<p|</p)\\s*>", "${space}", RegexOptions.IgnoreCase | RegexOptions.CultureInvariant); } } if (setPendingP = Regex.IsMatch(text, "</p\\s*>\\s*$", RegexOptions.IgnoreCase | RegexOptions.CultureInvariant)) { text = Regex.Replace(text, "</p\\s*>(?'space'\\s*)$", "${space}", RegexOptions.IgnoreCase | RegexOptions.CultureInvariant); } text = Regex.Replace(text, "<br\\s*/?>", "<br/>", RegexOptions.IgnoreCase | RegexOptions.CultureInvariant); text = Regex.Replace(text, "</p\\s*>(?'space'\\s*)<p\\s*>", "<br/>${space}", RegexOptions.IgnoreCase | RegexOptions.CultureInvariant); text = Regex.Replace(text, "(?:<p|</p)\\s*>", "<br/>", RegexOptions.IgnoreCase | RegexOptions.CultureInvariant); if (trailingSpace = Regex.IsMatch(text, "\\s+$")) { text = Regex.Replace(text, "\\s+$", String.Empty); } if (leadingSpace = Regex.IsMatch(text, "^\\s+")) { text = Regex.Replace(text, "^\\s+", String.Empty); } text = text.Replace("$", "$$"); // Render text. if (text.Trim().Length > 0) { if (leadingSpace) { writer.WriteLine(); } Style emptyStyle = new Style(); writer.BeginRender(); // write pending tags. writer.EnterStyle(emptyStyle); // VSWhidbey 114083 writer.Write(text); writer.ExitStyle(emptyStyle); writer.EndRender(); if (trailingSpace) { writer.WriteLine(); } } // Whidbey 19653 transform space as newline. If we are at the top of the form (before the leading p), // don't need literal text -it won't be rendered. Similarly, if we are setting a pending p, no need to writeline. else if (!setPendingP && !writer.TopOfForm) { Debug.Assert(!isEmpty, "Empty text. Should have returned before this point."); writer.WriteLine(); } if (setPendingP) { writer.SetPendingP(); } }
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 virtual void RenderSelectOptionAsPostBack(WmlTextWriter writer, string text) { RenderSelectOptionAsPostBack(writer, text, null, null); }
// Renders the Form query string. private void RenderFormQueryString(WmlTextWriter writer, string queryString) { if (String.IsNullOrEmpty(queryString)) { return; } writer.Write("?"); // if (!StringUtil.EqualsIgnoreCase((string)Browser["canRenderOneventAndPrevElementsTogether"], "false")) { queryString = writer.ReplaceFormsCookieWithVariable(queryString); } writer.WriteEncodedText(queryString); }
public virtual void RenderSelectOptionWithNavigateUrl(WmlTextWriter writer, String text, string navigateUrl) { if (writer.AnalyzeMode) { return; } writer.WriteBeginTag("option"); writer.WriteAttribute("onpick", navigateUrl); writer.Write(">"); writer.WriteEncodedText(text); writer.WriteEndTag("option"); }
// Render a complete form post in a go action. This is used when rendering a postback card, or when // rendering a go action that posts back directly rather than redirecting to a postback card. private void RenderFormPostInGoAction(WmlTextWriter writer, string target, string argument, WmlPostFieldType postFieldType, String postUrl) { writer.WriteBeginTag("go"); writer.Write(" href=\""); if (!Page.ContainsCrossPagePost) { RenderPostBackUrl(writer, Page.RelativeFilePath); RenderFormQueryString(writer, QueryString); } else if (!String.IsNullOrEmpty(postUrl)) { RenderPostBackUrl(writer, postUrl); } else { writer.Write("$("); writer.Write(_postUrlVarName); if (!StringUtil.EqualsIgnoreCase((string)Browser["requiresNoescapedPostUrl"], "false")) { writer.Write(":noescape"); } writer.Write(")"); } writer.Write("\""); string method = Page.Form.Method; RenderFormMethodAttribute(writer, method); writer.Write(">"); string clientState = ClientState; if (clientState != null) { ICollection stateChunks = Page.DecomposeViewStateIntoChunks(); int numChunks = stateChunks.Count; if (numChunks > 1) { RenderStatePostField(writer, Page.ViewStateFieldCountID, stateChunks.Count.ToString(CultureInfo.CurrentCulture)); } int count = 0; foreach (String state in stateChunks) { string key = Page.ViewStateFieldPrefixID; if (count > 0 ) { key += count.ToString(CultureInfo.CurrentCulture); } RenderStatePostField(writer, key, state); ++count; } } RenderReferrerPagePostField(writer); RenderTargetAndArgumentPostFields(writer, target, argument, postFieldType); RenderPostFieldVariableDictionary(writer, _dynamicPostFields); RenderPostFieldDictionary(writer, _staticPostFields); // writer.WriteEndTag("go"); }
public virtual void RenderSelectOption(WmlTextWriter writer, String text, String value) { if (writer.AnalyzeMode) { return; } writer.WriteBeginTag("option"); writer.WriteAttribute("value", value, true); writer.Write(">"); writer.WriteEncodedText(text); writer.WriteEndTag("option"); }
public virtual void RenderEndPostBack(WmlTextWriter writer, String target, String argument, String postUrl) { if (writer.AnalyzeMode) { // Analyze postbacks to see if postback cards should // be rendered. AnalyzePostBack(WmlPostFieldType.Submit); } else { RenderGoAction(writer, target, argument, postUrl); writer.WriteEndTag("anchor"); } }
// Renders a card tag. protected virtual void RenderBeginCardTag(WmlTextWriter writer) { writer.WriteLine("<card>"); writer.Indent++; }
private void AnalyzeAndRenderHtmlForm(WmlTextWriter writer, HtmlForm form) { if (form == null) { return; } writer.SetAnalyzeMode(true); RenderForm(writer, form); Page.ResetOnFormRenderCalled(); writer.SetAnalyzeMode(false); RenderForm(writer, form); writer.WriteLine(); }