繁体   English   中英

中继器ItemCommand不起作用

[英]Repeater ItemCommand doesn't work

我在OnItemCommand事件无法正常使用的Webform的Repeater中遇到问题。 当我单击“链接”按钮时,他应该被解雇。

Codigo aspx:

<asp:Repeater ID="repeaterImagens" runat="server" 
        OnItemCommand="repeaterImagens_ItemCommand" 
        OnItemDataBound="repeaterImagens_ItemDataBound">
       <ItemTemplate>

...

                <asp:LinkButton ID="lbExcluir" runat="server"
                        CommandName="excluir"
                        CommandArgument="<%# ((String)Container.DataItem) %>" 
                        OnClientClick="if (!confirm('Confirma a exclusão desta imagem?'));">
                </asp:LinkButton>
       </ItemTemplate>
</asp:Repeater> 

C#背后的代码

protected void repeaterImagens_ItemCommand(object source, RepeaterCommandEventArgs e)
{
     if (e.CommandName.Equals("excluir"))
    {
           ExcluirArquivo(e.CommandArgument.ToString());
     }
}

在调试模式下进行测试,单击“链接”按钮没有任何反应,甚至没有调用ItemCommand事件

更好的方法是在ItemDataBound事件中处理linkbutton客户端确认:

 protected void Repeater_ItemDataBound(object sender, RepeaterItemEventArgs e)
 {
    LinkButton lb = e.Item.FindControl("lbExcluir") as LinkButton;

    if (lb != null) {
       lb.OnClientClick = "return confirm('Confirma a exclusão desta imagem?')";
     }
 }

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM