Не могли бы вы помочь мне понять, почему, когда страница сначала загружается приведенным ниже примером, кнопки не работают, как предполагалось, например, кнопка 2 не вызывает GetItems(int.Parse("2"), 3);
, а скорее звонит GetItems(int.Parse("4"), 3);
, однако после первая обратная передача всех кнопок работает правильно, например Buttonx называет GetItems(int.Parse("x"), 3);
Благодаряповедение postbacks linkbuttons по сравнению с не postback
protected void Page_Load(object sender, EventArgs e)
{
if(!IsPostBack)
{
GetItems(1, 2); //default values (first time the page is loaded)
}
GenerateButtons(5);
}
private void GenerateButtons(int c)
{
LinkButton[] x = new LinkButton[c];
for(int i=0; i<c;i++)
{
x[i] = new LinkButton();
x[i].Text = (i+1).ToString();
Panel1.Controls.Add(x[i]);
x[i].OnClick += new EventHandler(Button_Click);
}
}
protected void Button_Click(object sender, EventArgs e)
{
Button button = (Button)sender; // Which button was clicked;
GetItems(int.Parse(button.Text), 3); //3 is a constant; first argument is index of button extracted from its caption
}
PS. когда я обращаюсь к кнопке 1, я имею в виду button[0]
. button2=button[1]
и так далее. после обратной передачи button1
правильно подключен к событию, чтобы вызвать GetItems(1,3)
. Перед кнопкой postback1 запускается GetItems(3,3)
. Не по назначению
используйте 'Page_Init', поэтому он будет работать при первой загрузке –
Спасибо, это сработало! – Halle
Я опубликовал его как ответ, надеюсь, что вы его отметили. :) –