2009-02-10 79 views
2

這是不大不小的後續行動,我的問題在這裏:的ImageButton事件中更新不觸發面板

Asp:Label is not shown when visible is set to true?

在上面的問題,我有地方能見度不被設置爲幾個控件虛假,因爲他們不在UpdatePanel。一旦我將控件放入UpdatePanel中,可見度的切換就起作用了,但是這導致了另一個問題。我有一個ImageButton導出爲ex​​cel。當按鈕不在UpdatePanel中時,點擊事件被觸發,但現在我將它放入UpdatePanel中,點擊事件不會觸發。

我也有一個工作正常的下拉菜單。我認爲這與ImageButton沒有AutoPostBack屬性有關。

回答

1

請確保您有相關的圖像按鈕上UpdatePanel的一個PostBackTrigger。如果您使用類似Matt Berseth's method的類似方式導出到Excel,則必須具有此觸發器才能導出工作。

<asp:PostBackTrigger ControlID="ImageButton1"/> 
0

不,ImageButtons不具有的AutoPostBack:他們並不需要他們比普通按鍵做任何更多。

這種行爲聽起來很奇怪。我想說的第一件事就是將asp:ImageButton改成一個asp:Button,看看是否改變了行爲。如果沒有,它是一個ImageButton的事實是一個紅鯡魚。

0

嘗試用菜單(其含有一個單個菜單項)取代的ImageButton並設置其ImageUrl屬性。

0
myImagebutton.OnClientClick = "return true;"; 
0

變化 '的CausesValidation' 屬性設置爲false。

2

我有類似的問題。在我的情況下,ImageButtons在一箇中繼器裏面,它被綁定到updatepanel。但我在ItemDataBound方法的轉發器中使用Page.RegisterRequiresRaiseEvent(ImageButton)後面的代碼,並且它工作。

1

如果你有與在ItemTemplate的ImageButton的一個DataList,不需要觸發,但causeValidation = false是。

2

ChildrenAsTriggers="true"添加到更新面板。如果您有母版頁,則可以使用。

如果您的更新面板是主人,則無法添加觸發器。