public void Salva_Dati(object sender, EventArgs e) { //eAzioni azione = (eAzioni)Enum.Parse(typeof(eAzioni),((Button)sender).CommandArgument); Steve.Consulto consulto = null; if (Azione == eAzioni.Insert) { consulto = new Steve.Consulto(); consulto.IdPaziente = Paziente1.ID; } else if (Azione == eAzioni.Update) { consulto = ConsultoDB.GetConsulto(Convert.ToInt32(Chiave)); } consulto.Data = DateTime.Parse(txtData.Text); consulto.ProblemaIniziale = HttpUtility.HtmlEncode(txtProblema.Text); var sMsg = "Operazione avvenuta con successo"; if (ConsultoDB.SalvaDati(ref consulto, ref sMsg)) { lblMsg.CssClass = "msgOK"; pnEditing.Visible = false; if (Azione == eAzioni.Insert) { IdConsulto = consulto.ID; // Richiamo con il Delegato il metodo della pagina padre per gestire il menu contestuale var arl = new ArrayList(); LinkContestuale lc; lc = new LinkContestuale( string.Format("{3}/App/master.aspx?chiave={0}&azione={1}&uc={2}", consulto.ID, eAzioni.Insert, eSteps.AnamnesiProssima, Request.ApplicationPath), "Add Anamnesi Prossima"); arl.Add(lc); var aObj = new object[1]; aObj[0] = arl; _DelMenuContestuale.DynamicInvoke(aObj); } } else { lblMsg.CssClass = "msgKO"; } lblMsg.Text = sMsg; lblMsg.Visible = true; }