2010-10-11 95 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