public void RaiseCallbackEvent(string eventArgument) { string[] eventArg = eventArgument.Split(new string[1] { "#;" }, StringSplitOptions.None); action = eventArg[0]; source = Utilities.DeserializeObject <DesignDataSource>(eventArg[1]); designWebPart = WebPartToEdit as DesignWebPart; if (designWebPart != null) { if (!string.IsNullOrEmpty(designWebPart.DataSourcesData)) { sources = Utilities.DeserializeObject <List <DesignDataSource> >(SourceValue); } if (sources == null) { sources = new List <DesignDataSource>(); } if (action.ToLower() == "delete") { DesignDataSource found = sources.Single(n => n.Id == source.Id); if (sources.Remove(found)) { result = "DataSource Deleted"; //designWebPart.DataSourcesData = Utilities.SerializeObject(sources); } } if (action.ToLower() == "update") { int index = sources.FindIndex(n => n.Id == source.Id); if (index >= 0) { sources[index] = source; result = "DataSource Updated"; //designWebPart.DataSourcesData = Utilities.SerializeObject(sources); } else { sources.Add(source); result = "DataSource Added"; //designWebPart.DataSourcesData = Utilities.SerializeObject(sources); } } SourceValue = Utilities.SerializeObject(sources); designWebPart.DataSourcesData = SourceValue; repeater.DataSource = sources; repeater.DataBind(); this.DataBind(true); } //webpart.DataSourcesData = Utilities.SerializeObject(repeater.DataSource); }
/// <summary> /// sync changes from web part /// </summary> public override void SyncChanges() { EnsureChildControls(); designWebPart = WebPartToEdit as DesignWebPart; if (designWebPart == null) { return; } SourceValue = designWebPart.DataSourcesData; SyncSources(); }
/// <summary> /// apply changes to web part /// </summary> /// <returns></returns> public override bool ApplyChanges() { try { designWebPart = WebPartToEdit as DesignWebPart; if (designWebPart == null) { return(false); } designWebPart.DataSourcesData = SourceValue; } catch (Exception) { return(true); } return(true); }