中继器的LinkBut​​ton没有发射 [英] repeater linkbutton not firing

查看:172
本文介绍了中继器的LinkBut​​ton没有发射的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我有一个中继器和里面一个LinkBut​​ton,中继势必OnItemCommand但事件此处未击发是我的code:

 < ASP:直放站ID =rptList=服务器OnItemDataBound =rpt_OnItemDataBoundOnItemCommand =rptList_ItemCommand>
                <&ItemTemplate中GT;
                    < ASP:LinkBut​​ton的ID =lbName文本='<%#的eval(姓名)%>' =服务器
                        CommandArgument ='<%#的eval(ID)的ToString()%方式>的CommandName =NameClick>
                    < / ASP:LinkBut​​ton的>< BR />                    < ASP:标签ID =lblCreateDate=服务器文本='<%#的eval(CREATEDATE)%>' />< BR />
                    < BR />
                < / ItemTemplate中>
            < / ASP:直放站>

这里是code背后:

 保护无效rptList_ItemCommand(对象源,RepeaterCommandEventArgs E)
        {
            开关(e.CommandName)
            {
                案NameClick:
                    GUID标识=(GUID)e.CommandArgument;                    //做一点事
                    打破;                默认:
                    打破;
            }
        }


解决方案

根据拉姆的评价问题,你需要确保你是不是重新绑定在回发的中继器(见这个问题,<一个href=\"http://stackoverflow.com/questions/9167535/repeaters-item-command-event-is-not-firing-on-linkbutton-click\">Repeater's项命令事件不会开火LinkBut​​ton的点击)

您也将有那样的铸造GUID的问题 - 改变这一行code的

 的Guid = ID(GUID)e.CommandArgument;

要这个

 的Guid n =新的GUID(e.CommandArgument.ToString());

I have a repeater and inside it a linkbutton, the repeater is bound to OnItemCommand but the event is not firing here is my code:

<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>

here is the code behind:

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

                    //do something
                    break;

                default:
                    break;
            }
        }

解决方案

As per Ram S comment you need to make sure you are not rebinding the repeater on postback (see this question Repeater's Item command event is not firing on linkbutton click)

You will also have a problem casting a Guid in that way - change this line of code

Guid id = (Guid)e.CommandArgument;

To this

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

这篇关于中继器的LinkBut​​ton没有发射的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆