2010-10-11 92 views
0

我搜索了這個主題的網頁,並從每一個(包括其他stackoverflow線程)獲得大量的建議。中繼器不會觸發ItemCommand事件

最後,我以爲這裏的工具完全如圖所示。

http://msdn.microsoft.com/en-us/library/system.web.ui.webcontrols.repeater.onitemcommand(VS.71).aspx

還是沮喪。

我的轉發器在用戶控件中可用,我將用戶控件作爲web部件添加到現有webpartzone。我可以看到中繼器中的所有行(以及按鈕)。一旦我點擊(任何)按鈕,它會丟失所有的行和itemcommand從不觸發。

我使用的是ASP.NET 4.0

任何人都可以幫助我解決這個問題。

+0

'顯示烏斯澤codeh'。就像下面的回答說的那樣,如果您將相關的HTML和CS粘貼到Repeater中,可能會有所幫助。 – RPM1984 2010-10-11 21:20:19

回答

2

數據綁定列表控件(就像任何其他動態創建的控件一樣)需要在回發時重新創建。您是否在if (!IsPostback) {}內有Databind電話?

源代碼可能有助於確定您的具體問題。

-1

所有的時間,直放站都必須綁定。否則,Repeater的Repeater_ItemCommand EVENT將不會被觸發。

這意味着:

 if (!IsPostBack) 
      { 
       BindRepeater(); 
      } 
      else 
      { 
       BindRepeater(); 

      } 
+5

與簡單地調用'BindRepeater();'有什麼不同?換句話說,「if」的意義是什麼? – 2012-11-24 21:37:42

+0

這對我來說很清楚。 if/else是不需要的,只是被用來作爲IsPostback = true的解釋,中繼器必須總是被反彈。 – pharophy 2014-09-02 18:58:35