У меня проблемы с динамическими ссылками на страницах asp. Я использую их для создания пользовательского поискового вызова для представления сетки. Идея состоит в том, что я хочу отображать их 20 примерно 20. Он работает в течение первых 20. Когда я их показываю, все в порядке. Затем я нажимаю следующий для отображения следующего 20. Когда я нажимаю дальше, он отображает меня, но если нажать кнопку, отличную от начальных 20, она будет меня в начале 20.Проблемы с запуском моего события для динамических ссылок в asp
Начальная страница:
override protected void OnInit(EventArgs e)
{
base.OnInit(e);
if (this.Tag.Equals("Shareholder"))
{
InitComponents(false);
}
/// Must be done everytime the page loads.
InitializeList();
if (!IsPostBack)
InitializeUI();
}
Init кнопки ссылка
private void InitComponents(Boolean Prev)
{
PanelPager.Controls.Clear();
int nrInregistrari = Convert.ToInt32(DAActionar.CountActionari(11, LastBtnIndex));
if (Prev == true)
{
LinkButton lnkPrev = new LinkButton();
lnkPrev.Text = "Prev";
PanelPager.Controls.Add(lnkPrev);
}
int BtnDeAfisat = 0;
if (nrInregistrari > BTN_PER_SERIE * PAGE_SIZE)
{
BtnDeAfisat = BTN_PER_SERIE;
}
else
BtnDeAfisat = nrInregistrari/PAGE_SIZE + 1;
for (int index = 1; index <= BtnDeAfisat; index++)
{
int pageNo = index + LastBtnIndex;
LinkButton lnk = new LinkButton();
lnk.Click += new EventHandler(PageChange);
lnk.ID = "PageLink" + pageNo.ToString();
lnk.CommandName = "Page";
lnk.Text = " " + pageNo.ToString() + " ";
lnk.CommandArgument = index.ToString();
PanelPager.Controls.Add(lnk);
}
LinkButton lnkNext = new LinkButton();
lnkNext.Click += new EventHandler(NextPage);
lnkNext.Text = "Next";
PanelPager.Controls.Add(lnkNext);
LastBtnIndex += BtnDeAfisat;
}
событие для следующих кнопок
private void NextPage(object sender, EventArgs e)
{
InitComponents(true);
}
Паг Echange:
public void PageChange(object sender, EventArgs e)
{
int pageIndex = int.Parse((sender as LinkButton).CommandArgument) + 1;
object dataSource = GetDataSource(OwnerId, null, pageIndex);
PushData(dataSource);
}
«Затем я нажимаю следующий для отображения следующего 20. Когда я нажимаю дальше, он отображает меня, но если нажать кнопку, отличную от начальных 20, это будет мне в начале 20." Не удалось понять проблему, с которой вы столкнулись. Можете ли вы быть более наглядными. Что скажешь, когда вы нажимаете кнопку «кроме начальных 20»? Означает ли это, что вы не можете идти вперед после того, как вы достигнете 2-го номера на 20 страниц? –
Можете ли вы поделиться кодом метода PageChange? –
@Chetan edit, идея состоит в том, что первые 20 кнопок, которые инициализируются в init, работают правильно, другие не запускают обработчик событий. – user7383186