C# 中继器链接按钮未启动

C# 中继器链接按钮未启动,c#,asp.net,events,repeater,linkbutton,C#,Asp.net,Events,Repeater,Linkbutton,我有一个中继器,里面有一个链接按钮,中继器绑定到OnItemCommand,但事件没有触发。这是我的代码: <asp:Repeater ID="rptList" runat="server" OnItemDataBound="rpt_OnItemDataBound" OnItemCommand="rptList_ItemCommand"> <ItemTemplate> <asp:LinkButt

我有一个中继器,里面有一个链接按钮,中继器绑定到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>

根据Ram的评论,您需要确保没有在回发时重新绑定中继器(参见此问题)

用这种方式强制转换Guid也会有问题-更改这行代码

Guid id = (Guid)e.CommandArgument;
对此

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

根据Ram的评论,您需要确保没有在回发时重新绑定中继器(参见此问题)

用这种方式强制转换Guid也会有问题-更改这行代码

Guid id = (Guid)e.CommandArgument;
对此

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

请参阅本节中的答案。确实添加了回发,但仍然是相同的内容。现在它确实触发了,但我得到了System.InvalidCastException:指定的强制转换无效。在Guid id=(Guid)e.CommandArgument;。。。。如果我将强制转换为字符串,请尝试使用-Guid id=new Guid(例如,CommandArgument.ToString());很好,现在它很好…将其作为答案发布请查看此中的答案确实添加了回发,但仍然是相同的内容现在它确实启动,但我得到了系统。InvalidCastException:指定的强制转换无效。在Guid id=(Guid)e.CommandArgument;。。。。如果我将强制转换为字符串,请尝试使用-Guid id=new Guid(例如,CommandArgument.ToString());现在很好,很好…请把它作为答案贴出来