我正在c#中生成動態鏈接按鈕。點擊其中的任何一個,其他功能將被調用,將顯示哪個鏈接按鈕被點擊。但它不是在點擊呼叫的任何鏈接按鈕。鏈接按鈕的Click功能沒有被調用
這就是我如何產生它。
Int32 i; //create a integer variable
for (i = 1; i <= 10; i++) // will generate 10 LinkButton
{
LinkButton lb = new LinkButton(); //create instance of LinkButton
lb.Text = Convert.ToString(i) + ""; //LinkButton Text
lb.ID = Convert.ToString(i); // LinkButton ID’s
lb.CommandArgument = Convert.ToString(i); // LinkButton CommandArgument
lb.CommandName = Convert.ToString(i); // LinkButton CommanName
lb.OnClientClick+= new CommandEventHandler(lb_Command); //Create Handler for it.
//type lb.Command += and press double time Tab Key it will generat the lb_Command() code
PlaceHolder1.Controls.Add(lb); // Adding the LinkButton in PlaceHolder
}
這是功能碼。
void lb_Command(object sender, CommandEventArgs e)
{
Label1.Text = e.CommandName; // will display the which Linkbutton clicked
Label1.Text = "aaaa";
// Response.Redirect(「LnkBtn.aspx?val=」 + Label1.Text); // you can also use as QueryString to send values to another page
}
請提供幫助。
謝謝。
這不是任何地方下面提到的,但要確保你正在創建過程中的每一次的OnInit()階段重建這些按鈕後回來OFR您的活動贏得了無論如何,在頁面生命週期中儘早佈線以便工作。 –
我在page_load的if(!IsPostBack)事件中產生它。 此外,當我點擊鏈接按鈕,所有鏈接按鈕得到消失爲什麼? – user1627138
@ user1627138您不會在頁面生命週期中足夠早地創建按鈕。他們沒有被保存到視圖狀態,所以當你回發服務器時,不記得它有任何按鈕。正如Eoin所說的,您需要在'OnInit'事件中添加控件,並且您需要在每個頁面加載時執行它,而不僅僅是在'!IsPostBack'上。 – Servy