Ich habe Probleme mit meinen dynamischen Link-Schaltflächen in ASP-Seiten. Ich benutze sie, um ein benutzerdefiniertes Paging für eine Rasteransicht zu erstellen. Die Idee ist, dass ich 20 über 20 anzeigen möchte. Es funktioniert für die ersten 20. Wenn ich sie zeige, ist es in Ordnung. Dann drücke ich weiter für die Anzeige der nächsten 20. Wenn ich die nächsten drücken, es anzeigt mich, aber wenn eine Presse eine andere Taste als die ersten 20, es wird mich an der ersten 20Probleme feuern mein Ereignis für dynamische Link-Schaltflächen in ASP
Meiner init Seite:
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 Link Tasten
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;
}
Ereignis für den nächsten Tasten
private void NextPage(object sender, EventArgs e)
{
InitComponents(true);
}
Pag 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);
}
"Dann drücke ich weiter, um die nächsten 20 anzuzeigen. Wenn ich als nächstes drücke, zeigt es mich an, aber wenn ich einen anderen Knopf drücke als die ersten 20, geht es mir bei den ersten 20." Konnte das Problem, mit dem Sie konfrontiert sind, nicht verstehen. Kannst du beschreibender sein? Was passiert, wenn Sie auf "andere als die ersten 20" klicken? Bedeutet es, dass Sie nicht weitergehen können, nachdem Sie die zweite 20-stellige Nummer erreicht haben? –
Können Sie den Code der PageChange-Methode teilen? –
@Chetan bearbeiten, die Idee ist, dass die ersten 20 Tasten, die in Init initialisieren sind arbeiten richtig, andere feuert nicht Ereignishandler – user7383186