中继器的LinkButton没有发射 [英] repeater linkbutton not firing
问题描述
我有一个中继器和里面一个LinkButton,中继势必OnItemCommand但事件此处未击发是我的code:
< ASP:直放站ID =rptList=服务器OnItemDataBound =rpt_OnItemDataBoundOnItemCommand =rptList_ItemCommand>
<&ItemTemplate中GT;
< ASP:LinkButton的ID =lbName文本='<%#的eval(姓名)%>' =服务器
CommandArgument ='<%#的eval(ID)的ToString()%方式>的CommandName =NameClick>
< / ASP:LinkButton的>< 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项命令事件不会开火LinkButton的点击)
您也将有那样的铸造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());
这篇关于中继器的LinkButton没有发射的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!