日期:2014-05-18  浏览次数:20878 次

Repeater内的Button点击为何不触发ItemCommand事件?
在Repeater中放一个Button,点击时为何不会触发ItemCommand事件?换成LinkButton就可以。
<asp:Repeater ID="rptMagUpdate" runat="server" OnItemCommand="rptMagUpdate_ItemCommand">
 <ItemTemplate>
  <div>
  <ul enabled="true">
  <li>
  <asp:Button ID="Button3" runat="server" Text="Update" CommandName="updateZMIntro" />
  </li>
  </ul>
  </div>
 </ItemTemplate>
</asp:Repeater>

------解决方案--------------------
好像触发ItemDataBind事件
然后用Button b= (e.Item.FindContorl("Button3") as Button);
才能发现button 在模板里的服务器端代码都要事件编写 在用e.item.findcontorl找
------解决方案--------------------
相关代码贴完整
------解决方案--------------------
protected void rptMagUpdate_ItemCommand(object source, RepeaterCommandEventArgs e) 

if (e.CommandName == "updateZMIntro") 

// 

}

我一直都这样用,没问题,你再查查其他原因
------解决方案--------------------
有什么反应?会不会是验证控件的问题
------解决方案--------------------
一下可能非常大
你看看客户端html代码
看看这个button的onclick事件是否在提交服务之前已经return了,此时就不提交服务器了

------解决方案--------------------
看一下pageload里面的代码。是否return了。
------解决方案--------------------
你查看下源码
不行你把后台都贴出来看看,是哪里错了
------解决方案--------------------
纯支持一个.
------解决方案--------------------
<asp:Button ID="Button3" runat="server" Text="Update" CommandName="updateZMIntro" /> 
里面为何没有LZ的点击事件代码,LZ是手动加的前台,忘了加事件?
------解决方案--------------------
在页面的PageLoad()的函数里面加 if(!IsPost) {数据绑定}
数据绑定中写Repeater的数据绑定语句
------解决方案--------------------
mark