I have checked this code and its working fine here. I have bounded the Repeater in not in postback and i am able to detect the RepeaterItemCommand while debuggin.
Page
<%@ Register Src="~/UserControls/RepeaterControl.ascx" TagName="RepeaterControl"
TagPrefix="uc" %>
<form id="form1" runat="server">
<div>
<uc:RepeaterControl runat="server" />
</div>
</form>
UserControl : working without using UpdatePanel also
<asp:UpdatePanel runat="server">
<ContentTemplate>
<asp:Repeater ID="rptImages" runat="server" OnItemCommand="rptImages_ItemCommand">
<ItemTemplate>
<asp:ImageButton ID="Imgbtn" runat="server" Style='height: 80px; width: 80px' ImageUrl='<%# Eval("ImageUrl") %>' />
</ItemTemplate>
</asp:Repeater>
</ContentTemplate>
</asp:UpdatePanel>
UserControl.cs
protected void Page_Load(object sender, EventArgs e)
{
if (!this.IsPostBack)
{
DataTable dt = new DataTable();
dt.Columns.AddRange(new DataColumn[1] { new DataColumn("ImageUrl", typeof(string)) });
dt.Rows.Add("../Images/Chrysanthemum.jpg");
dt.Rows.Add("../Images/Penguins.jpg");
dt.Rows.Add("../Images/Desert.jpg");
dt.Rows.Add("../Images/Hydrangeas.jpg");
dt.Rows.Add("../Images/Garden.jpg");
this.rptImages.DataSource = dt;
this.rptImages.DataBind();
}
}
protected void rptImages_ItemCommand(Object Sender, RepeaterCommandEventArgs e)
{
string ImageURL = ((ImageButton)e.CommandSource).ImageUrl;
if (ImageURL.Contains("Store"))
{
// Response.Redirect(Constants.stored);
}
if (ImageURL.Contains("Credit"))
{
//Response.Redirect(Constants.Credit);
}
}
I dont know about Kentico CMS. but the code above is working.