/// <summary> /// Creates a new SessionFormEditor. /// </summary> /// <param name="form"> Form collection to load.</param> public SessionFormEditor(HtmlFormTag form) : this() { if ( form != null ) { HtmlFormTagCollection forms = new HtmlFormTagCollection(1); forms.Add(form.Name, form); // Load tree LoadFormTree(forms); } }
private void LoadFormTree(HtmlFormTagCollection forms) { foreach (DictionaryEntry de in forms) { HtmlFormTag form = (HtmlFormTag)de.Value; StringBuilder label = new StringBuilder(); // add Form node label.Append("<form name="); label.Append((string)de.Key); label.Append(" method="); label.Append(form.Method); label.Append(" action="); label.Append(form.Action); if ( form.OnSubmit.Length > 0 ) { label.Append(" onsubmit="); label.Append(form.OnSubmit); } label.Append(">"); FormEditorNode formNode = formsTree.AddFormNode(label.ToString(),form); foreach (DictionaryEntry dd in form) { FormEditorNode child = new FormEditorNode(); HtmlTagBaseList controlArray = (HtmlTagBaseList)dd.Value; foreach (HtmlTagBase tag in controlArray) { // if (tag is HtmlALinkTag) // { // HtmlALinkTag a=(HtmlALinkTag)tag; // AddALinkNode(formNode, a); // } if (tag is HtmlInputTag) { HtmlInputTag input=(HtmlInputTag)tag; FormEditorNode node = new FormEditorNode(); node.Text = input.Name + "=" + input.Value; formNode.Nodes.Add(node); //AddInputNode(formNode,input); } if (tag is HtmlButtonTag) { HtmlButtonTag button = (HtmlButtonTag)tag; FormEditorNode node = new FormEditorNode(); node.Text = button.Name + "=" + button.Value; formNode.Nodes.Add(node); //AddButtonNode(formNode,button); } if (tag is HtmlSelectTag) { HtmlSelectTag select = (HtmlSelectTag)tag; FormEditorNode node = new FormEditorNode(); node.Text = select.Name + "=" + select.Value; formNode.Nodes.Add(node); //AddSelectNode(formNode,select); } if (tag is HtmlTextAreaTag) { HtmlTextAreaTag textarea=(HtmlTextAreaTag)tag; FormEditorNode node = new FormEditorNode(); node.Text = textarea.Name + "=" + textarea.Value; formNode.Nodes.Add(node); //AddTextAreaNode(formNode,textarea); } } } } }
/// <summary> /// Loads the forms into the form tree. /// </summary> /// <param name="forms"></param> public void LoadFormTree(HtmlFormTagCollection forms) { formEditor.Clear(); foreach (DictionaryEntry de in forms) { HtmlFormTag form = (HtmlFormTag)de.Value; StringBuilder label = new StringBuilder(); // add Form node label.Append("<form name="); label.Append((string)de.Key); label.Append(" method="); label.Append(form.Method); label.Append(" action="); label.Append(form.Action); if ( form.OnSubmit != null ) { if ( form.OnSubmit.Length > 0 ) { label.Append(" onsubmit="); label.Append(form.OnSubmit); } } label.Append(">"); FormEditorNode formNode = formEditor.AddFormNode(label.ToString(),form); for (int i=0;i<form.Count;i++) { FormEditorNode child = new FormEditorNode(); HtmlTagBaseList controlArray = (HtmlTagBaseList)((DictionaryEntry)form[i]).Value; foreach (HtmlTagBase tag in controlArray) { if (tag is HtmlALinkTag) { HtmlALinkTag a=(HtmlALinkTag)tag; AddALinkNode(formNode, a); } if (tag is HtmlInputTag) { HtmlInputTag input=(HtmlInputTag)tag; AddInputNode(formNode,input); } if (tag is HtmlButtonTag) { HtmlButtonTag button = (HtmlButtonTag)tag; AddButtonNode(formNode,button); } if (tag is HtmlSelectTag) { HtmlSelectTag select = (HtmlSelectTag)tag; AddSelectNode(formNode,select); } if (tag is HtmlTextAreaTag) { HtmlTextAreaTag textarea=(HtmlTextAreaTag)tag; AddTextAreaNode(formNode,textarea); } } } } formEditor.ExpandAll(); }
/// <summary> /// Displays the Form Editor. /// </summary> private void DisplayFormUserControl() { SessionRequest sessionRequest = this.CurrentSessionRequest; //SessionFormEditor formEditor = (SessionFormEditor)this.pnUserControl.Controls[0]; formControl.Form = sessionRequest.Form; if ( formControl.Form != null ) { HtmlFormTagCollection forms = new HtmlFormTagCollection(1); forms.Add(formControl.Form.Name, formControl.Form); formControl.LoadFormTree(forms); } else { formControl.DisplayNoDataMessage(); } formControl.Show(); this.SelectedDesignerControl = formControl; HideControls(typeof(SessionFormEditor)); }