2010-02-25 53 views
0

我有這樣的方法定義的,因爲我將在長表中添加一個鏈接按鈕,每一行。但是它不會調用eventHandler。它確實會導致一個asyncPostback,但從不調用eventHandler。ASP.NET LinkBut​​ton的回發原因,但不會調用指定的方法

public static void InsertLinkButton(string text, string id, EventHandler eventHandler, 
     UpdatePanel updateSummary, PlaceHolder placeHolder) 
{ 
    LinkButton link = new LinkButton(); 
    link.Text = text; 
    link.Click += eventHandler; 
    link.CausesValidation = false; 
    AsyncPostBackTrigger trigger = new AsyncPostBackTrigger(); 
    trigger.ControlID = link.ID = "link" + id; 
    trigger.EventName = "Click"; 
    Utils.Tag(link, placeHolder); 
    updateSummary.Triggers.Add(trigger); 
} 

的事件處理程序的signiture:

protected void link_Click(object sender, EventArgs e) 
{ 
    //check which link clicked me and do stuff 
} 

我會調用該方法具有這樣的:

InsertLinkButton("Division", "Division", link_Click, updateSummary, placeHolderSummary); 

東西在這段代碼錯了嗎?或者是我的問題其他軟件?

+0

檢查您的調用代碼。你會得到一個編譯錯誤。你需要五個參數,只發送四個參數。 – 2010-02-25 21:26:48

+0

是啊,我複製/粘貼錯誤調用代碼 – jamone 2010-02-25 21:32:54

回答

2

在處理點擊事件之前,您需要確保您的按鈕已插入頁面,否則回發沒有任何工作要做。

1

你叫你插入足夠早在pagelifecycle

如果您將點擊事件連接得太晚,則永遠不會引發事件。

嘗試移動電話進入頁面初始化。

0

我有類似的問題。給LinkBut​​tons一個ID爲我解決了它。

相關問題