protected void Page_Load(object sender, EventArgs e) { if (!Page.IsPostBack) { try { // init SharePoint List Title SPList currentList = SPContext.Current.Web.Lists[this.ListId]; lblCurrentListName.Text = string.Format("'{0}' list", currentList.Title); // init list of all DB tables var listDs = _configService.DatabaseTables().Select(item => new { Id = item, Title = item }); ddlDbTables.DataSource = listDs; ddlDbTables.DataBind(); // try find existing mapping if (this.Mapping != null) { // pre-load existing Mapping ddlDbTables.Visible = false; lblTableName.Text = string.Format("'{0}'", listDs.Where(t => t.Id.ToString() == Mapping.TableName).Select(t => t.Title).FirstOrDefault()); this.UpdateMapperDataSource(Mapping.TableName, Mapping.ListMappingFields, Mapping.Key); } else { // init grid DataSource with NO mapping this.UpdateMapperDataSource(listDs.First().Id, null, null); } btnRemove.Visible = (this.Mapping != null); } catch (Exception ex) { pnlError.Controls.Add(new Label { Text = ex.Message, ForeColor = System.Drawing.Color.Red }); } } }