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