using System; using System.Data; using System.Configuration; using System.Collections; using System.Web; using System.Web.Security; using System.Web.UI; using System.Web.UI.WebControls; using System.Web.UI.WebControls.WebParts; using System.Web.UI.HtmlControls; public partial class Admin_EditContactForm : WebBlocks.AdministrativePage { private string ReturnURL { get { return (string)ViewState["ReturnURL"]; } set { ViewState["ReturnURL"] = value; } } public int ContactFormID { get { return (int)ViewState["ContactFormID"]; } set { ViewState["ContactFormID"] = value; } } protected void Page_Load(object sender, EventArgs e) { if (!Page.IsPostBack) { if (Request.UrlReferrer != null) ReturnURL = Request.UrlReferrer.ToString(); else ReturnURL = "ContactForms.aspx"; if (Request["ContactFormID"] != null) ContactFormID = Int32.Parse(Request["ContactFormID"]); else throw new Exception("Creation of new contact forms is not supported."); BindData(); } } private void BindData() { DataRow dr = Database.ContactForm_GetByContactFormID(ContactFormID); if (dr != null) { litBlockTitle.Text = (string)dr["BlockTitle"]; txtSubject.Text = (string)dr["Subject"]; txtFromName.Text = (string)dr["FromName"]; txtFromAddress.Text = (string)dr["FromAddress"]; txtRecipientAddresses.Text = (string)dr["RecipientAddresses"]; txtThankYouMessage.Text = (string)dr["ThankYouMessage"]; } else throw new Exception("No such contact form exists."); BindFields(); } private void BindFields() { DataTable dt = Database.ContactFormFields_GetByContactFormID(ContactFormID); foreach (DataRow dr in dt.Rows) { if ((WebBlocks.ContactFormFieldType)dr["FieldType"] == WebBlocks.ContactFormFieldType.Separator) { dr["Label"] += " (Separator)"; } } gvFields.DataSource = dt; gvFields.DataBind(); } protected void btnCancel_Click(object sender, EventArgs e) { Response.Redirect("ContactForms.aspx"); } protected void btnSubmit_Click(object sender, EventArgs e) { Database.ContactForm_Update(ContactFormID, txtSubject.Text, txtFromName.Text, txtFromAddress.Text, txtRecipientAddresses.Text, txtThankYouMessage.Text); Response.Redirect(ReturnURL); } protected void gvFields_RowCommand(object sender, GridViewCommandEventArgs e) { if (e.CommandName == "del") { int RowIndex = Int32.Parse(e.CommandArgument.ToString()); int ContactFormFieldID = (int)gvFields.DataKeys[RowIndex].Value; Database.ContactFormFields_Delete(ContactFormFieldID); BindFields(); } } }