Velocity Reviews - Computer Hardware Reviews

Velocity Reviews > Newsgroups > Programming > ASP .Net > Link buttons don't fire ItemCommand in repeater control, is this a bug?

Reply
Thread Tools

Link buttons don't fire ItemCommand in repeater control, is this a bug?

 
 
Stan
Guest
Posts: n/a
 
      12-02-2003
I cannot make the link buttons fire ItemCommand from
repeater control.

Here is the code:

<asp:repeater id=rptLetters runat="server">
<itemtemplate>
<asp:linkbutton id="lnkLetter"
runat="server" commandname="Filter"
CommandArgument='<%#
DataBinder.Eval(Container, "DataItem.Letter")%>'>
<%# DataBinder.Eval
(Container, "DataItem.Letter")%>
</asp:linkbutton>
</itemtemplate>
</asp:repeater>

In code-behind I've got:

this.rptLetters.ItemCommand += new
System.Web.UI.WebControls.RepeaterCommandEventHand ler
(this.OnLetterClicked);

and

protected void OnLetterClicked(object source,
System.Web.UI.WebControls.RepeaterCommandEventArgs e)
{
if (e.CommandName == "Filter")
{
letterFilter = (string)
e.CommandArgument;
PopulateGrid();
}
}

and it is does not fire the click event!


However, if I replace link button with regular buttons

<asp:repeater id=rptLetters runat="server">
<itemtemplate>
<asp:button id="lnkLetter" runat="server"
commandname="Filter"
CommandArgument='<%#
DataBinder.Eval(Container, "DataItem.Letter")%>'
Text='<%# DataBinder.Eval
(Container, "DataItem.Letter")%>' />
</itemtemplate>
</asp:repeater>

exactly the the same code works fine.

I am using 1.0.3705 framework.

Is this a bug?

Thanks,

-Stan

 
Reply With Quote
 
 
 
 
Jacob Yang [MSFT]
Guest
Posts: n/a
 
      12-03-2003
Hi Stan,

Based on my research and experience, the following information is useful to
you. Please refer to it carefully.

DataList.ItemCommand Event
http://msdn.microsoft.com/library/de...us/cpref/html/
frlrfsystemwebuiwebcontrolsdatalistclassitemcomman dtopic.asp
"...
The ItemCommand event is raised when any button is clicked in the DataList
control and is commonly used when you have a button control with a custom
CommandName value.
...
The following example demonstrates how to specify and code a handler for
the ItemCommand event to select an item from the DataList control.
...
<ItemTemplate>

<asp:LinkButton id="SelectButton"
Text="Select"
CommandName="Select"
runat="server"/>

Item <%# DataBinder.Eval(Container.DataItem, "Item") %>

</ItemTemplate>
..."

If I have misunderstood your concern, please feel free to let me know.

Best regards,

Jacob Yang
Microsoft Online Partner Support
Get Secure! ¨C www.microsoft.com/security
This posting is provided "as is" with no warranties and confers no rights.

 
Reply With Quote
 
 
 
 
Shawn Mehaffie
Guest
Posts: n/a
 
      01-22-2004
Since this is in a data repeater the code fires the ItemCommand for the data
repeater instead of the LinkButton. This sounds strange but really works
out becuase sometime you can get away without sending any parameters, if the
data you need is in on DataRepeater Item.

To see if this is happening create an event handler for the Repeater control
and put a Messagebox.Show as the only line of code. The everytime you click
the link the message should popup. You can even sent a breakpoint on the
MessageBox.Show and view what data you can access from the datarepeater
using the e.Item object. I have used this numerous times, but the first
time it was very frustrating learning how to extract data from the
datarepeater. Feel free to send me any more questions you might have.

S. Shawn Mehaffie





"Stan" <> wrote in message
news:b43901c3b8f1$c6300210$...
> I cannot make the link buttons fire ItemCommand from
> repeater control.
>
> Here is the code:
>
> <asp:repeater id=rptLetters runat="server">
> <itemtemplate>
> <asp:linkbutton id="lnkLetter"
> runat="server" commandname="Filter"
> CommandArgument='<%#
> DataBinder.Eval(Container, "DataItem.Letter")%>'>
> <%# DataBinder.Eval
> (Container, "DataItem.Letter")%>
> </asp:linkbutton>
> </itemtemplate>
> </asp:repeater>
>
> In code-behind I've got:
>
> this.rptLetters.ItemCommand += new
> System.Web.UI.WebControls.RepeaterCommandEventHand ler
> (this.OnLetterClicked);
>
> and
>
> protected void OnLetterClicked(object source,
> System.Web.UI.WebControls.RepeaterCommandEventArgs e)
> {
> if (e.CommandName == "Filter")
> {
> letterFilter = (string)
> e.CommandArgument;
> PopulateGrid();
> }
> }
>
> and it is does not fire the click event!
>
>
> However, if I replace link button with regular buttons
>
> <asp:repeater id=rptLetters runat="server">
> <itemtemplate>
> <asp:button id="lnkLetter" runat="server"
> commandname="Filter"
> CommandArgument='<%#
> DataBinder.Eval(Container, "DataItem.Letter")%>'
> Text='<%# DataBinder.Eval
> (Container, "DataItem.Letter")%>' />
> </itemtemplate>
> </asp:repeater>
>
> exactly the the same code works fine.
>
> I am using 1.0.3705 framework.
>
> Is this a bug?
>
> Thanks,
>
> -Stan
>



 
Reply With Quote
 
 
 
Reply

Thread Tools

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off
Trackbacks are On
Pingbacks are On
Refbacks are Off


Similar Threads
Thread Thread Starter Forum Replies Last Post
Repeater ItemCommand does not fire the first time Krushna ASP .Net Web Controls 0 07-29-2005 06:57 PM
ItemCommand event does not fire??? Jimmy ASP .Net 3 05-28-2005 04:50 AM
Datagrid - Does not fire itemcommand sri_san@mailcity.com ASP .Net 3 02-07-2005 10:20 PM
ImageCommand doesn't fire DataList.ItemCommand() event Jeremy ASP .Net 0 07-02-2004 05:35 PM
Bug in DataGrid - ItemCommand event does not fire for ButtonColumnif ButtonType="PushButton" Nick Gilbert ASP .Net 2 12-15-2003 08:10 AM



Advertisments