protected void Page_Load(object sender, EventArgs e) { FormState reqState = RequestedState; // Konfiguration einlesen. ModuleConfig cfg = LoadConfig(); if (reqState == FormState.Form) { // Wurde das Formular bereits übermittelt? if (IsPostBack && IsSubmitted(cfg.FormContent)) { // Eingabedaten auswerten. Guid errorValidator = Guid.Empty; bool success = ValidateRequest(cfg, out errorValidator); bool redirect = true; if (success) { if (cfg.SendEmail) { EmailSender emailSender = new EmailSender(); try { emailSender.Process(cfg); } catch (System.Exception ex) { // Falls der Benutzer Edit-Rechte hat, wird die Meldung aus der Exception angezeigt. if (ModuleHasEditRights) { _content.Text = "Error: " + ex.Message; redirect = false; } success = false; } } } if(redirect) { // Falls die Erfolgsseite angezeigt werden soll, wird diese eingeblendet. if (success && cfg.ShowSuccessPage) { _content.Text = cfg.SuccessContent; NavigateTo(FormState.Success); } else if (!success) { _content.Text = cfg.ErrorContent; NavigateTo(FormState.Error, errorValidator); } else { // Die eigene Seite wieder laden, damit die Formulardaten nicht ein zweites mal übermittelt werden können. NavigateTo(FormState.Form); } } } else { // Formular anzeigen. _content.Text = cfg.FormContent; } } else { // Html ermitteln. string html = GetCurrentHtml(reqState, cfg); // Wurde bereits die Meldung quittiert? if (IsPostBack && IsSubmitted(html)) { // Zurück zum Formular. NavigateTo(FormState.Form); } else { // Meldung anzeigen. _content.Text = html; } } }
protected void Page_Load(object sender, EventArgs e) { FormState reqState = RequestedState; // Konfiguration einlesen. ModuleConfig cfg = LoadConfig(); if (reqState == FormState.Form) { // Wurde das Formular bereits übermittelt? if (IsPostBack && IsSubmitted(cfg.FormContent)) { // Eingabedaten auswerten. Guid errorValidator = Guid.Empty; bool success = ValidateRequest(cfg, out errorValidator); bool redirect = true; if (success) { if (cfg.SendEmail) { EmailSender emailSender = new EmailSender(); try { emailSender.Process(cfg); } catch (System.Exception ex) { // Falls der Benutzer Edit-Rechte hat, wird die Meldung aus der Exception angezeigt. if (ModuleHasEditRights) { _content.Text = "Error: " + ex.Message; redirect = false; } success = false; } } } if (redirect) { // Falls die Erfolgsseite angezeigt werden soll, wird diese eingeblendet. if (success && cfg.ShowSuccessPage) { _content.Text = cfg.SuccessContent; NavigateTo(FormState.Success); } else if (!success) { _content.Text = cfg.ErrorContent; NavigateTo(FormState.Error, errorValidator); } else { // Die eigene Seite wieder laden, damit die Formulardaten nicht ein zweites mal übermittelt werden können. NavigateTo(FormState.Form); } } } else { // Formular anzeigen. _content.Text = cfg.FormContent; } } else { // Html ermitteln. string html = GetCurrentHtml(reqState, cfg); // Wurde bereits die Meldung quittiert? if (IsPostBack && IsSubmitted(html)) { // Zurück zum Formular. NavigateTo(FormState.Form); } else { // Meldung anzeigen. _content.Text = html; } } }