protected void Page_Load(object sender, EventArgs e) { if (!IsPostBack) { HttpBrowserCapabilities browser = Request.Browser; FormGeneratorData d = new FormGeneratorData(); MasterPage mp = Page.Master; DataTable dtForm = d.GetPageByPageID(pageID); if (dtForm.Rows.Count > 0) { this.Form.ID = dtForm.Rows[0]["FormName"].ToString(); if (dtForm.Rows[0]["CSSClass"] != DBNull.Value) this.Form.Attributes.Add("class", dtForm.Rows[0]["CSSClass"].ToString()); if (dtForm.Rows[0]["Tracking_Campaign"] != DBNull.Value) { HiddenField hfCampaign = new HiddenField(); hfCampaign.ID = "c"; hfCampaign.Value = dtForm.Rows[0]["Tracking_Campaign"].ToString(); this.Form.Controls.Add(hfCampaign); } if (dtForm.Rows[0]["Tracking_Source"] != DBNull.Value) { HiddenField hfSource = new HiddenField(); hfSource.ID = "s"; hfSource.Value = dtForm.Rows[0]["Tracking_Source"].ToString(); this.Form.Controls.Add(hfSource); } if (dtForm.Rows[0]["Tracking_Page"] != DBNull.Value) { HiddenField hfPage = new HiddenField(); hfPage.ID = "_p"; hfPage.Value = dtForm.Rows[0]["Tracking_Page"].ToString(); this.Form.Controls.Add(hfPage); } } else return; object aprimoID = dtForm.Rows[0]["Aprimo_ID"]; object subjectLine = dtForm.Rows[0]["Subject"]; object isModal = dtForm.Rows[0]["IsModal"]; if (isModal != null) { bool isModalForm = Convert.ToBoolean(isModal); PlaceHolder ph = (PlaceHolder)mp.FindControl("phHidden"); HtmlGenericControl hidden = new HtmlGenericControl(); hidden.TagName = "input"; hidden.ID = "hidIsModal"; hidden.Attributes.Add("type", "hidden"); if (isModalForm) hidden.Attributes.Add("value", "true"); else hidden.Attributes.Add("value", "false"); ph.Controls.Add(hidden); } if (aprimoID != null) this.Form.Attributes.Add("AprimoID", aprimoID.ToString()); if (subjectLine != null) this.Form.Attributes.Add("AprimoSubject", subjectLine.ToString()); DataTable dtControls = d.GetPageControlsByPageID(pageID); foreach (DataRow dr in dtControls.Rows) { string pageControl_ID = dr["pageControl_ID"].ToString(); string phID = dr["ASP_ID"].ToString(); string type = dr["TypeName"].ToString(); PlaceHolder ph = (PlaceHolder)mp.FindControl(phID); DataTable dtProperties = d.GetPageControlPropertyValuesByPageControl_ID(pageControl_ID); string isRequired = dr["IsRequired"].ToString(); if (type == "TextBox") { CrossBrowser_TextBox c = (CrossBrowser_TextBox)LoadControl("Controls/CrossBrowser_TextBox.ascx"); string controlName = dr["Type"].ToString().ToLower(); if (isRequired == "True") c.Watermark = dr["Watermark"].ToString() + " *"; else c.Watermark = dr["Watermark"].ToString(); c.tbxCrossBrowser.ID = dr["AprimoFieldName"].ToString(); c.tbxCrossBrowser.CssClass = dr["CssClass"].ToString(); c.tbxCrossBrowser.Attributes.Add("validate", dr["DoValidate"].ToString()); c.tbxCrossBrowser.Attributes.Add("controlname", dr["Type"].ToString().ToLower()); if (controlName == "company") { c.tbxCrossBrowser.ClientIDMode = ClientIDMode.Static; c.tbxCrossBrowser.ID = "company"; } ph.Controls.Add(c); } else if (type == "ListBox") { DataTable dt = d.GetControlOptionsByPageControl_ID(dr["PageControl_ID"].ToString()); ListBox lb = new ListBox(); lb.ID = dr["AprimoFieldName"].ToString(); lb.CssClass = dr["CssClass"].ToString(); lb.SelectionMode = ListSelectionMode.Multiple; lb.Attributes.Add("validate", dr["DoValidate"].ToString()); lb.Attributes.Add("controlName", dr["Type"].ToString().ToLower()); FormGeneratorTools.BindObject(lb, dt, "Text", "Value", "Select One"); ph.Controls.Add(lb); ph.Controls.Add(new LiteralControl("<br />")); } else if (type == "DropDownList") { DropDownList ddl = new DropDownList(); bool hasConstantValues = Convert.ToBoolean(dr["HasConstantValues"]); DataTable dt; if (hasConstantValues) { dt = d.GetControlConstantValues(dr["ControlList_ID"].ToString()); FormGeneratorTools.BindObject(ddl, dt, "Text", "Value", dr["type"].ToString()); } else { dt = d.GetControlOptionsByPageControl_ID(dr["PageControl_ID"].ToString()); string defaultValue = ""; if (dr["DefaultValue"] != null) defaultValue = dr["DefaultValue"].ToString(); FormGeneratorTools.BindObject(ddl, dt, "Text", "Value", defaultValue); } ddl.ID = dr["AprimoFieldName"].ToString(); ddl.CssClass = dr["CssClass"].ToString(); ddl.Attributes.Add("validate", dr["DoValidate"].ToString()); ddl.Attributes.Add("controlName", dr["Type"].ToString().ToLower()); if (isRequired == "True") ddl.Items[0].Text = ddl.Items[0].Text + " *"; ph.Controls.Add(ddl); ph.Controls.Add(new LiteralControl("<br />")); } else if (type == "Multi-line") { CrossBrowser_TextArea c = (CrossBrowser_TextArea)LoadControl("Controls/CrossBrowser_TextArea.ascx"); c.Watermark = dr["Watermark"].ToString(); c.tbxCrossBrowser.ID = dr["AprimoFieldName"].ToString(); c.tbxCrossBrowser.CssClass = dr["CssClass"].ToString(); c.tbxCrossBrowser.Attributes.Add("validate", dr["DoValidate"].ToString()); c.tbxCrossBrowser.Attributes.Add("controlname", dr["Type"].ToString().ToLower()); if (isRequired == "True") c.Watermark = dr["Watermark"].ToString() + " *"; else c.Watermark = dr["Watermark"].ToString(); ph.Controls.Add(c); //ph.Controls.Add(new LiteralControl("<br />")); } else if (type == "Literal") { Literal lit = new Literal(); lit.ID = dr["AprimoFieldName"].ToString(); SetControlProperties(lit, dtProperties); ph.Controls.Add(lit); ph.Controls.Add(new LiteralControl("<br />")); } else if (type == "Submit") { string errorMessage = "Please fix errors."; string successMessage = "Submitted successfully!"; CrossBrowser_Button c = (CrossBrowser_Button)LoadControl("Controls/CrossBrowser_Button.ascx"); c.ID = "cbbSubmit"; c.ehButtonClicked += new EventHandler(submit_Click); c.txtCrossBrowserSubmit.CssClass = dr["CssClass"].ToString(); c.txtCrossBrowserSubmit.Text = d.GetControlProperty(dr["PageControl_ID"].ToString(), "Text"); c.txtCrossBrowserSubmit.OnClientClick = "return IsValid()"; c.txtCrossBrowserSubmit.ID = dr["AprimoFieldName"].ToString(); c.txtCrossBrowserSubmit.Attributes.Add("pageControlID", dr["PageControl_ID"].ToString()); c.ErrorMessage = errorMessage; c.SuccessMessage = successMessage; //c.lblErrorMessage.Text = errorMessage; c.lblSuccessMessage.Text = successMessage; ph.Controls.Add(c); ph.Controls.Add(new LiteralControl("<br />")); } } HtmlGenericControl dbFormHidden = new HtmlGenericControl("div"); dbFormHidden.ID = "db-form-hidden"; Page.Controls.Add(dbFormHidden); HtmlGenericControl tracking = new HtmlGenericControl("div"); tracking.ID = "trackingFields"; Page.Controls.Add(tracking); HiddenField hf = new HiddenField(); hf.ID = "hfDBResults"; hf.Visible = true; HtmlGenericControl wrapper = new HtmlGenericControl("div"); wrapper.Controls.Add(hf); Page.Form.Controls.Add(wrapper); Page.Controls.Add(new LiteralControl(@" <script type='text/javascript'> $(document).ready(function(){ initAutocomplete(); getResultsIP(); renderHiddenTrackingFields(); if($('.ui-autocomplete-input').attr('name') == '') $('.ui-autocomplete-input').hide(); }) </script> ")); } }