繁体   English   中英

转发器链接按钮未触发

[英]repeater linkbutton not firing

我有一个中继器,并且在其中有一个链接按钮,该中继器绑定到OnItemCommand,但事件未触发,这是我的代码:

<asp:Repeater ID="rptList" runat="server" OnItemDataBound="rpt_OnItemDataBound" OnItemCommand="rptList_ItemCommand">
                <ItemTemplate>
                    <asp:LinkButton ID="lbName" Text='<%# Eval("Name") %>' runat="server" 
                        CommandArgument='<%# Eval("ID").ToString() %>' CommandName="NameClick">  
                    </asp:LinkButton><br />

                    <asp:Label ID="lblCreateDate" runat="server" Text='<%# Eval("CreateDate") %>' /><br />
                    <br />
                </ItemTemplate>
            </asp:Repeater>

这是背后的代码:

protected void rptList_ItemCommand(object source, RepeaterCommandEventArgs e)
        {
            switch (e.CommandName)
            {
                case "NameClick":
                    Guid id = (Guid)e.CommandArgument;

                    //do something
                    break;

                default:
                    break;
            }
        }

根据Ram S的注释,您需要确保在回发时不重新绑定转发器(请参阅此问题, 在linkbutton click上不会触发转发器的Item命令事件

您也将无法以这种方式投射Guid-更改此行代码

Guid id = (Guid)e.CommandArgument;

对此

Guid id = new Guid(e.CommandArgument.ToString());

暂无
暂无

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

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