你能幫我理解爲什麼,當下面的例子第一次加載頁面時,按鈕不能按預期工作,例如,按鈕2不會調用GetItems(int.Parse("2"), 3);
,而是調用GetItems(int.Parse("4"), 3);
首先回發所有按鈕正常工作,例如Buttonx呼籲GetItems(int.Parse("x"), 3);
感謝linkbuttons行爲回發與不回發
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)
。在回發按鈕1導致GetItems(3,3)
運行之前。不按預期
使用'Page_Init'所以它會在第一次加載時工作 –
謝謝,這個工作! – Halle
我已經發布它作爲答案希望你標記它。 :) –