Hi,
I am trying to ensure that when the user clicks on a link within a pager control, that a control on the page (a datalist) is updated. So far the AJAX works fine, however the loading panel won't show up.
I've tried programmatically adding the AjaxSettings in the ItemDataBound event of the repeater (as well as the ItemCreated, and PreRender events) to each of the Hyperlinks within the RepeaterItem, however I'm continually getting either an 'Object reference not set to instance of object' error, or a 'value cannot be null error'.
And the code behind
Any ideas?
I am trying to ensure that when the user clicks on a link within a pager control, that a control on the page (a datalist) is updated. So far the AJAX works fine, however the loading panel won't show up.
I've tried programmatically adding the AjaxSettings in the ItemDataBound event of the repeater (as well as the ItemCreated, and PreRender events) to each of the Hyperlinks within the RepeaterItem, however I'm continually getting either an 'Object reference not set to instance of object' error, or a 'value cannot be null error'.
<telerik:RadAjaxLoadingPanel id="LoadingPanel" cssclass="loading" transparency="20" Runat="server"> |
</telerik:RadAjaxLoadingPanel> |
<h3>Images <a href="javascript://" class="upload">Upload Image</a></h3> |
<div id="images"> |
<telerik:RadAjaxManager ID="ajaxManager" runat="server"> |
<AjaxSettings> |
<telerik:AjaxSetting AjaxControlID="dlImages"> |
<UpdatedControls> |
<telerik:AjaxUpdatedControl ControlID="ajaxPanelPaging" loadingpanelid="LoadingPanel" /> |
</UpdatedControls> |
</telerik:AjaxSetting> |
<telerik:ajaxsetting ajaxcontrolid="lnkPage"> |
<updatedcontrols> |
<telerik:ajaxupdatedcontrol controlid="ajaxPanelDataList" loadingpanelid="LoadingPanel" /> |
<telerik:ajaxupdatedcontrol controlid="ajaxPanelTabs" /> |
<telerik:AjaxUpdatedControl ControlID="ajaxPanelPaging" loadingpanelid="LoadingPanel" /> |
</updatedcontrols> |
</telerik:ajaxsetting> |
<telerik:ajaxsetting ajaxcontrolid="lnkCategory"> |
<updatedcontrols> |
<telerik:ajaxupdatedcontrol controlid="ajaxPanelDataList" loadingpanelid="LoadingPanel" /> |
<telerik:ajaxupdatedcontrol controlid="ajaxPanelTabs" loadingpanelid="LoadingPanel" /> |
<telerik:AjaxUpdatedControl ControlID="ajaxPanelPaging" loadingpanelid="LoadingPanel" /> |
</updatedcontrols> |
</telerik:ajaxsetting> |
<telerik:ajaxsetting ajaxcontrolid="lnkImageLibrary"> |
<updatedcontrols> |
<telerik:ajaxupdatedcontrol controlid="ajaxPanelDataList" loadingpanelid="LoadingPanel" /> |
<telerik:ajaxupdatedcontrol controlid="ajaxPanelTabs" /> |
<telerik:AjaxUpdatedControl ControlID="ajaxPanelPaging" loadingpanelid="LoadingPanel" /> |
</updatedcontrols> |
</telerik:ajaxsetting> |
</AjaxSettings> |
</telerik:RadAjaxManager> |
<telerik:RadAjaxPanel ID="ajaxPanelTabs" runat="server" > |
<ul class="tabs"> |
<li class="page"><asp:linkbutton id="lnkPage" runat="server" text="Images for this page" /></li> |
<li class="category"><asp:linkbutton id="lnkCategory" runat="server"/></li> |
<li class="library"><asp:linkbutton id="lnkImageLibrary" runat="server" text="Park Image Library"/></li> |
</ul> |
</telerik:RadAjaxPanel> |
<div class="data"> |
<telerik:RadAjaxPanel ID="ajaxPanelDataList" runat="server" LoadingPanelID="LoadingPanel"> |
<asp:datalist id="dlImages" repeatcolumns="6" cellspacing="2" repeatdirection="Horizontal" runat="server"> |
<itemtemplate> |
<div> |
<a rel="lightbox" href="<%=FullSizeURL %>"><asp:image id="imgThumb" runat="server"/></a> |
</div> |
<ul> |
<li><asp:linkbutton runat="server" id="lnkAdd" cssclass="add" title="Add image to this category" commandname="add">Add</asp:linkbutton></li> |
<li class="last"><asp:hyperlink id="lnkView" runat="server" target="_blank" cssclass="view" rel="lightbox" titlre="View this image">View</asp:hyperlink></li> |
</ul> |
</itemtemplate> |
</asp:datalist> |
</telerik:RadAjaxPanel> |
</div> |
<telerik:RadAjaxPanel id="ajaxPanelPaging" visible="true" runat="server"> |
<asp:linkbutton id="lnkFirstPage" runat="server">First Page</asp:linkbutton> |
<asp:repeater id="rptPaging" runat="server"> |
<headertemplate><ul class="verticalpager"></headertemplate> |
<itemtemplate> |
<li><asp:linkbutton id="lnkPageIndex" commandname="page" runat="server" /></li> |
</itemtemplate> |
<footertemplate></ul></footertemplate> |
</asp:repeater> |
</telerik:RadAjaxPanel> |
</div> |
And the code behind
void rptPaging_ItemDataBound(object sender, RepeaterItemEventArgs e) |
{ |
if ((e.Item.ItemType == ListItemType.Item) || (e.Item.ItemType == ListItemType.AlternatingItem)) |
{ |
LinkButton lnkPageIndex = (LinkButton)e.Item.FindControl("lnkPageIndex"); |
lnkPageIndex.Text = (e.Item.ItemIndex + 1).ToString(); |
if (this.CurrentPage == e.Item.ItemIndex) { |
lnkPageIndex.CssClass = "selected"; |
} |
// THIS IS WHERE THE ERROR IS THROWN |
ajaxManager.AjaxSettings.AddAjaxSetting(lnkPageIndex, dlImages, LoadingPanel); |
} |
} |
Any ideas?