/// <summary> /// OnDataSource chaged handler. /// </summary> private void pagerElem_OnDataSourceChanged(object sender, EventArgs e) { if (QueryHelper.Contains("imagepath")) { string path = QueryHelper.GetString("imagepath", ""); PagingMode = PagingModeTypeEnum.QueryString; PagerControl.PageSize = 1; int currentPage = PagerControl.GetItemPage("NodeAliasPath = '" + SqlHelper.EscapeQuotes(path) + "'"); PagerControl.CurrentPage = currentPage; PagerControl.Visible = false; lstImages.TransformationName = DetailTransformation; plcNavigation.Visible = true; lnkNext.Text = GetString("general.Next"); DataRow nextItem = PagerControl.GetItemDataRow(currentPage); if (nextItem != null) { lnkNext.NavigateUrl = URLHelper.AddParameterToUrl(RequestContext.CurrentURL, "imagepath", (string)nextItem["NodeAliasPath"]); } lnkPrevious.Text = GetString("ImageGallery.Previous"); DataRow prevItem = PagerControl.GetItemDataRow(currentPage - 2); if (prevItem != null) { lnkPrevious.NavigateUrl = URLHelper.AddParameterToUrl(RequestContext.CurrentURL, "imagepath", (string)prevItem["NodeAliasPath"]); } lnkThumbnails.Text = GetString("ImageGallery.Thumbnails"); lnkThumbnails.NavigateUrl = URLHelper.RemoveParameterFromUrl(RequestContext.CurrentURL, "imagepath"); ltlScript.Text += ScriptHelper.GetScript("var drpElem = document.getElementById('" + drpImages.ClientID + "');"); // Prepare the images dropdown list drpImages.Attributes.Add("onchange", "ChangeImage();"); drpImages.Items.Clear(); int index = 1; DataView images = (DataView)PagerControl.DataSource; foreach (DataRow dr in images.Table.Rows) { string url = URLHelper.AddParameterToUrl(RequestContext.CurrentURL, "imagepath", (string)dr["NodeAliasPath"]); drpImages.Items.Add(new ListItem(index.ToString(), url)); index++; } drpImages.SelectedIndex = currentPage - 1; lblOf.Text = GetString("ImageGallery.Of"); lblTotal.Text = images.Table.Rows.Count.ToString(); } }