日期:2014-05-17  浏览次数:20452 次

ASP.NET为什么Repeater控件内按钮要单击第2次才能触发后台事件,求解决!
我用Repeater来绑定数据进行数据删除操作,在里面加了个LinkButton或Button按钮。但运行测试时,第一次单击时,只运行了客户端代码,而后台ItemCommand事件,并没有被触发,就连它本身的ONCLICK事件也没有被触发。要第2次单击按钮时,才能触发事件,实现效果。求各位大大解决。要一开始单击就执行后台代码。

Repeater代码如下:
<asp:Repeater ID="RpFenPeiList" runat="server" onitemcommand="RpFenPeiList_ItemCommand">
  <ItemTemplate>
  <tr>
  <td align="center">
  第<asp:Label ID="lbQs" runat="server" Text='<%#Eval("QS") %>'></asp:Label>期</td>
  <td align="center">共<%#DataBinder.Eval(Container.DataItem,"ZRS") %>人</td>
  <td align="center"><%#DataBinder.Eval(Container.DataItem,"GXSJ") %></td>
  <td align="center"><a href="FenPei_View.aspx?qs=<%#DataBinder.Eval(Container.DataItem,"QS") %>" target="_blank">详细信息</a>&nbsp;
  <a href="FenPei_Edit.aspx?qs=<%#DataBinder.Eval(Container.DataItem,"QS") %>" target="_blank">修改</a>&nbsp;
  <asp:LinkButton ID="btnDelete" runat="server" Text="删除" OnClick="btnDelete_Click" OnClientClick="javascript:if(!confirm('确定要删除该期所有信息吗?')){return false};"></asp:LinkButton></td>
  </tr>
  </ItemTemplate>

------解决方案--------------------
这几天人狠少。
------解决方案--------------------
OnClientClick="javascript:if(!confirm('确定要删除该期所有信息吗?')){return false};

改成

OnClientClick="javascript:return confirm('确定要删除该期所有信息吗?');

试下
------解决方案--------------------
哦,上面return false挨在一起了注意一下

客户端的不用javascript:

还有就是要把客户端放在前,要不服务端都执行了,你写个客户端的事件放那也不起作用