У меня есть список данных внутри панели
<asp:Panel ID="Panel1" runat="server" ScrollBars="Vertical">
<asp:DataList ID="DataList1" runat="server" RepeatDirection="Horizontal" OnItemDataBound="DataList1_ItemDataBound" CaptionAlign="Left">
<ItemTemplate>
<asp:ImageButton ID="btn1" runat="server" ImageUrl='<%#"~/Images.ashx?Name=" +DataBinder.Eval(Container.DataItem, "Path") %>'
OnCommand="Item_Command" CommandArgument='<%# Eval("Id").ToString() +";"+Eval("Path")%>' />
</ItemTemplate>
</asp:DataList>
</asp:Panel>
В Item_Command я добавляю стиль для btn1, такой как рамка и цвет, и получаю идентификатор выбранного элемента
string[] str = e.CommandArgument.ToString().Split(';');
Id = Convert.ToInt32(str[0]);
Когда я выбираю элемент, страница прыгает, предположим, что я прокрутил браузерную полосу прокрутки вниз и выбрал прокрутку браузера изображений, идущую сверху и снова идущую внизу. По Item_Command я включаю и отключаю несколько других btn, которые находятся за пределамиdatalist, если я храню datalist внутри панели обновлений, то все остальные btn не включаются и не отключаются, поэтому я не использую панель обновления.У меня есть все элементы управления внутри панели обновления.Я попытался с помощью как сохранить позицию прокрутки браузера после того, как сработало любое событие , но оно не работает, я устанавливаю
Page.MaintainScrollPositionOnPostBack = true;
AutoEventWireup="true"
, что также не работает для меня.Я использую VS 2010, 4.0 с C #.
Кто-то, пожалуйста, подскажет мне, как остановить переход по страницам и поддерживать положение как панели1, так и позиции прокрутки браузера, когда пользователь нажимает на элемент списка данных?
спасибо заранее..