Hi,
I've been developing and/or supervising development of .NET Web applications using r.a.d. Controls for ASP.NET AJAX for quite some time now and this is the first time ever I post a thread in this forum.
I'm the technical owner of a VB.NET 3.5 Web application developed some two years ago using release 2008.03.1314 of r.a.d. Controls for ASP.NET AJAX. I guess shortcuts followed then (the code is not so good...) are finally catching up, as they usually do, and users of the application are now encountering a quite peculiar problem.
In short, there is this RadGrid control within a user defined control embedded within a RadMultiPage control and whose visibility is toggled through a RadTabStrip control; rows within the RadGrid are managed through an ItemTemplate element and, especially, an image is available for each row in the grid, the image being retrieved from a database and generated dynamically through a typical call to a .NET page that returns a binary output stream (GridImageColumn column type was not available back then): something like
I could send the complete code but it is quite large and, quite frankly, I'm not sure how it would help. However, f it can be of any help, the RadGrid control is configured as follows:
To tell the truth, I'm not sure the problem is even directly due to r.a.d. controls but since they are all over the place, I figured it wouldn't hurt posting this thread in this forum. Note that I'm not considering this problem as a Telerik bug at this point: I'm actually more interested in pointers and insights. Has anyone encountered similar problems? Does my description ring any bells? Am I missing something here? And please, do not recommend the obvious such as refactoring the code or upgrading the r.a.d. Controls for ASP.NET AJAX library: I'm on tight budget and time constraints here. Again, I want to know what's going on!
If anybody wants more information, I will be happy to collaborate.
Thanks in advance.
AL
I've been developing and/or supervising development of .NET Web applications using r.a.d. Controls for ASP.NET AJAX for quite some time now and this is the first time ever I post a thread in this forum.
I'm the technical owner of a VB.NET 3.5 Web application developed some two years ago using release 2008.03.1314 of r.a.d. Controls for ASP.NET AJAX. I guess shortcuts followed then (the code is not so good...) are finally catching up, as they usually do, and users of the application are now encountering a quite peculiar problem.
In short, there is this RadGrid control within a user defined control embedded within a RadMultiPage control and whose visibility is toggled through a RadTabStrip control; rows within the RadGrid are managed through an ItemTemplate element and, especially, an image is available for each row in the grid, the image being retrieved from a database and generated dynamically through a typical call to a .NET page that returns a binary output stream (GridImageColumn column type was not available back then): something like
ImageUrl='<%# "ViewImage.aspx?ImageID=" & Eval("ImageID").ToString()%>'
... Well, it appears that everything works fine for as long as there is at most 7 rows per grid pages (users can set page size at will), not one more: more than that RadTabStrip, RadMultiPage, and RadGrid controls become unresponsive and any user action results in a complete page refresh, nothing more. On the other hand, if I change the code and force the same image to be reused over and over again, say, ImageUrl='<%# "ViewImage.aspx?ImageID=3"%>'
things work as expected no matter what the grid page size is. I know this sounds strange but after hours of narrowing the problem down, it all comes down to this!I could send the complete code but it is quite large and, quite frankly, I'm not sure how it would help. However, f it can be of any help, the RadGrid control is configured as follows:
<
telerik:RadGrid
ID
=
"rgDirigeant"
runat
=
"server"
AllowFilteringByColumn
=
"False"
AllowPaging
=
"True"
AllowSorting
=
"False"
AutoGenerateColumns
=
"True"
EnableLinqExpressions
=
"False"
HorizontalAlign
=
"Center"
ShowFooter
=
"True"
ShowHeader
=
"False"
ShowStatusBar
=
"True"
Skin
=
"WebBlue"
Visible
=
"False"
Width
=
"100%"
PageSize
=
"10"
>
<
ClientSettings
EnableRowHoverStyle
=
"True"
>
<
ClientEvents
OnPopUpShowing
=
"PopUpShowing"
/>
<
Selecting
AllowRowSelect
=
"False"
/>
</
ClientSettings
>
<
GroupingSettings
CaseSensitive
=
"False"
/>
<
SortingSettings
SortToolTip="<%$ Resources:myRadGrid, SortToolTip%>" SortedAscToolTip="<%$ Resources:myRadGrid, SortedAscToolTip%>" SortedDescToolTip="<%$ Resources:myRadGrid, SortedDescToolTip%>" />
<
FilterMenu
enableajaxskinrendering
=
"False"
>
<
CollapseAnimation
Type
=
"OutQuint"
Duration
=
"200"
></
CollapseAnimation
>
</
FilterMenu
>
<
HeaderContextMenu
>
<
CollapseAnimation
Duration
=
"200"
Type
=
"OutQuint"
/>
</
HeaderContextMenu
>
<
MasterTableView
CommandItemDisplay
=
"Top"
DataKeyNames
=
"IDDirigeant"
EditMode
=
"PopUp"
NoMasterRecordsText="<%$ Resources:myRadGrid, NoMasterRecordsText%>">
<
CommandItemSettings
AddNewRecordText="<%$ Resources:myRadGrid, Add %>" RefreshText="<%$ Resources:myRadGrid, Refresh %>" />
<
ItemTemplate
>
<
table
border
=
"0"
>
<
asp:TableRow
ID
=
"Tablerow1"
runat
=
"server"
>
<
asp:TableCell
ID
=
"Tablecell1"
runat
=
"server"
BorderWidth
=
"0"
VerticalAlign
=
"Top"
>
<
asp:Label
ID
=
"lblTitre"
runat
=
"server"
SkinID
=
"titleLabel"
meta:resourcekey
=
"lblTitre"
/>
</
asp:TableCell
>
<
asp:TableCell
ID
=
"Tablecell2"
runat
=
"server"
BorderWidth
=
"0"
VerticalAlign
=
"Top"
>
<%If Me.CodeTypeDirigeant = Globals.CodeHauteDirection Or Me.CodeTypeDirigeant = Globals.CodeAdministrator Then%>
<
telerik:RadTextBox
ID
=
"lblTitreTxt"
runat
=
"server"
Skin
=
"WebBlue"
Width
=
"200px"
ReadOnly
=
"true"
Text='<%# Bind("NomTitreDirigeant") %>' />
<%Else%>
<
telerik:RadTextBox
ID
=
"lblDepartTxt"
runat
=
"server"
Skin
=
"WebBlue"
Width
=
"200px"
ReadOnly
=
"true"
Text='<%# Bind("NomDepartement") %>' />
<%End If%>
</
asp:TableCell
>
<
asp:TableCell
ID
=
"Tablecell3"
runat
=
"server"
BorderWidth
=
"0"
VerticalAlign
=
"Top"
>
<
asp:Label
ID
=
"lblTitreExact"
runat
=
"server"
SkinID
=
"titleLabel"
meta:resourcekey
=
"lblTitreExact"
/>
</
asp:TableCell
>
<
asp:TableCell
ID
=
"Tablecell4"
runat
=
"server"
BorderWidth
=
"0"
VerticalAlign
=
"Top"
>
<
telerik:RadTextBox
ID
=
"lblTitreExacttxt"
runat
=
"server"
Skin
=
"WebBlue"
Width
=
"200px"
TextMode
=
"MultiLine"
Rows
=
"3"
Height
=
"48px"
ReadOnly
=
"true"
Text='<%# Bind("TitreDirigeantExact")%>' />
</
asp:TableCell
>
<
asp:TableCell
ID
=
"Tablecell5"
RowSpan
=
"8"
runat
=
"server"
BorderWidth
=
"0"
VerticalAlign
=
"Top"
>
<
asp:Image
ID
=
"_photo"
runat
=
"server"
BorderColor
=
"Silver"
BorderStyle
=
"Solid"
BorderWidth
=
"1px"
GenerateEmptyAlternateText
=
"True"
ImageAlign
=
"Top"
ImageUrl='<%# "ViewImage.aspx?
ImageID
=
" & Eval("
ImageID").ToString()%>' Width="100px" />
</
asp:TableCell
>
</
asp:TableRow
>
<
asp:TableRow
ID
=
"Tablerow2"
runat
=
"server"
>
<
asp:TableCell
ID
=
"Tablecell6"
runat
=
"server"
BorderWidth
=
"0"
>
<
asp:Label
ID
=
"lblPrenom"
runat
=
"server"
SkinID
=
"titleLabel"
meta:resourcekey
=
"lblPrenom"
/>
</
asp:TableCell
>
<
asp:TableCell
ID
=
"Tablecell7"
runat
=
"server"
BorderWidth
=
"0"
>
<
telerik:RadTextBox
ID
=
"lblPrenomtxt"
runat
=
"server"
Skin
=
"WebBlue"
Width
=
"200px"
ReadOnly
=
"true"
Text='<%# Eval("Prenom") %>' />
</
asp:TableCell
>
<
asp:TableCell
ID
=
"Tablecell8"
runat
=
"server"
BorderWidth
=
"0"
>
<
asp:Label
ID
=
"lblNom"
runat
=
"server"
SkinID
=
"titleLabel"
meta:resourcekey
=
"lblNom"
/>
</
asp:TableCell
>
<
asp:TableCell
ID
=
"Tablecell9"
runat
=
"server"
BorderWidth
=
"0"
>
<
telerik:RadTextBox
ID
=
"lblNomtxt"
runat
=
"server"
Skin
=
"WebBlue"
Width
=
"200px"
ReadOnly
=
"true"
Text='<%# Eval("Nom") %>' />
</
asp:TableCell
>
</
asp:TableRow
>
<
asp:TableRow
ID
=
"Tablerow3"
runat
=
"server"
>
<
asp:TableCell
ID
=
"Tablecell10"
runat
=
"server"
BorderWidth
=
"0"
>
<
asp:Label
ID
=
"lblSexe"
runat
=
"server"
SkinID
=
"titleLabel"
meta:resourcekey
=
"lblSexe"
/>
</
asp:TableCell
>
<
asp:TableCell
ID
=
"Tablecell11"
runat
=
"server"
BorderWidth
=
"0"
>
<
telerik:RadTextBox
ID
=
"lblSexeTxt"
runat
=
"server"
Skin
=
"WebBlue"
Width
=
"200px"
ReadOnly
=
"true"
Text='<%# Bind("NomSexe") %>' />
</
asp:TableCell
>
<
asp:TableCell
ID
=
"Tablecell12"
runat
=
"server"
BorderWidth
=
"0"
>
<
asp:Label
ID
=
"lblLangue"
runat
=
"server"
SkinID
=
"titleLabel"
meta:resourcekey
=
"lblLangue"
/>
</
asp:TableCell
>
<
asp:TableCell
ID
=
"Tablecell13"
runat
=
"server"
BorderWidth
=
"0"
>
<
telerik:RadTextBox
ID
=
"lblLngtxt"
runat
=
"server"
Skin
=
"WebBlue"
Width
=
"200px"
ReadOnly
=
"true"
Text='<%# Bind("NomLangue") %>' />
</
asp:TableCell
>
</
asp:TableRow
>
<
asp:TableRow
ID
=
"Tablerow4"
runat
=
"server"
VerticalAlign
=
"Top"
>
<
asp:TableCell
ID
=
"Tablecell14"
runat
=
"server"
BorderWidth
=
"0"
>
<
asp:Label
ID
=
"lblTelephone"
runat
=
"server"
SkinID
=
"titleLabel"
meta:resourcekey
=
"lblTelephone"
/>
</
asp:TableCell
>
<
asp:TableCell
ID
=
"Tablecell15"
runat
=
"server"
BorderWidth
=
"0"
>
<
telerik:RadTextBox
ID
=
"lblTelephonetxt"
runat
=
"server"
Skin
=
"WebBlue"
Width
=
"200px"
ReadOnly
=
"true"
Text='<%# Bind("Telephone") %>' />
</
asp:TableCell
>
<
asp:TableCell
ID
=
"Tablecell16"
runat
=
"server"
BorderWidth
=
"0"
>
<
asp:Label
ID
=
"lblDateNaissance"
runat
=
"server"
SkinID
=
"titleLabel"
meta:resourcekey
=
"lblDateNaissance"
/>
</
asp:TableCell
>
<
asp:TableCell
ID
=
"Tablecell17"
runat
=
"server"
BorderWidth
=
"0"
>
<
telerik:RadTextBox
ID
=
"lblNaissancetxt"
runat
=
"server"
Skin
=
"WebBlue"
Width
=
"200px"
ReadOnly
=
"true"
Text='<%# Bind("DateNaissance", "{0:yyyy/MM/dd}") %>' />
</
asp:TableCell
>
</
asp:TableRow
>
<
asp:TableRow
ID
=
"Tablerow5"
runat
=
"server"
>
<
asp:TableCell
ID
=
"Tablecell18"
runat
=
"server"
BorderWidth
=
"0"
VerticalAlign
=
"Top"
>
<
asp:Label
ID
=
"lblTelecopieur"
runat
=
"server"
SkinID
=
"titleLabel"
meta:resourcekey
=
"lblTelecopieur"
/>
</
asp:TableCell
>
<
asp:TableCell
ID
=
"Tablecell19"
runat
=
"server"
BorderWidth
=
"0"
VerticalAlign
=
"Top"
>
<
telerik:RadTextBox
ID
=
"lbltelecopieurtxt"
runat
=
"server"
Skin
=
"WebBlue"
Width
=
"200px"
ReadOnly
=
"true"
Text='<%# Bind("Telecopieur") %>' />
</
asp:TableCell
>
<
asp:TableCell
ID
=
"Tablecell20"
runat
=
"server"
BorderWidth
=
"0"
VerticalAlign
=
"Top"
>
<
asp:Label
ID
=
"lblCourriel"
runat
=
"server"
SkinID
=
"titleLabel"
meta:resourcekey
=
"lblCourriel"
/>
</
asp:TableCell
>
<
asp:TableCell
ID
=
"Tablecell21"
runat
=
"server"
BorderWidth
=
"0"
VerticalAlign
=
"Top"
>
<
asp:HyperLink
ID
=
"hlCourriel"
runat
=
"server"
Height
=
"32px"
Width
=
"200px"
Text='<%# Bind("Courriel") %>'></
asp:HyperLink
>
</
asp:TableCell
>
</
asp:TableRow
>
<
asp:TableRow
ID
=
"Tablerow9"
runat
=
"server"
>
<
asp:TableCell
ID
=
"Tablecell38"
runat
=
"server"
BorderWidth
=
"0"
>
<
asp:Label
ID
=
"lblSalaireAnnuel"
runat
=
"server"
SkinID
=
"titleLabel"
meta:resourcekey
=
"lblSalaireAnnuel"
/>
</
asp:TableCell
>
<
asp:TableCell
ID
=
"Tablecell39"
runat
=
"server"
BorderWidth
=
"0"
>
<
telerik:RadTextBox
ID
=
"_salaireAnnTxt"
runat
=
"server"
Skin
=
"WebBlue"
Width
=
"200px"
ReadOnly
=
"true"
Text='<%# Bind("SalaireAnnuelLocal", "{0:### ### ### ##0}") %>' ReadOnlyStyle-HorizontalAlign="Right" />
</
asp:TableCell
>
<
asp:TableCell
ID
=
"Tablecell40"
runat
=
"server"
BorderWidth
=
"0"
>
<
asp:Label
ID
=
"lblPrimeAnnuelle"
runat
=
"server"
SkinID
=
"titleLabel"
meta:resourcekey
=
"lblPrimeAnnuelle"
/>
</
asp:TableCell
>
<
asp:TableCell
ID
=
"Tablecell41"
runat
=
"server"
BorderWidth
=
"0"
>
<
telerik:RadTextBox
ID
=
"_primeTxt"
runat
=
"server"
Skin
=
"WebBlue"
Width
=
"200px"
ReadOnly
=
"true"
Text='<%# Bind("PrimeAnnuelleLocal", "{0:### ### ### ##0}") %>' ReadOnlyStyle-HorizontalAlign="Right" />
</
asp:TableCell
>
</
asp:TableRow
>
<% If Me.CodeTypeDirigeant = Globals.CodeAdministrator Then%>
<
asp:TableRow
ID
=
"Tablerow6"
runat
=
"server"
>
<
asp:TableCell
ID
=
"Tablecell23"
runat
=
"server"
BorderWidth
=
"0"
VerticalAlign
=
"Top"
>
<
asp:Label
ID
=
"lblResponsabilite"
runat
=
"server"
SkinID
=
"titleLabel"
meta:resourcekey
=
"lblResponsabilite"
/>
</
asp:TableCell
>
<
asp:TableCell
ID
=
"Tablecell24"
runat
=
"server"
BorderWidth
=
"0"
ColumnSpan
=
"3"
>
<
telerik:RadTextBox
ID
=
"lblResptxt"
runat
=
"server"
Text='<%# Bind("Responsabilite") %>'
TextMode="MultiLine" ReadOnly="true" Width="100%" Rows="3" Height="48px" />
</
asp:TableCell
>
</
asp:TableRow
>
<% End If%>
<
asp:TableRow
ID
=
"Tablerow7"
runat
=
"server"
VerticalAlign
=
"Top"
>
<
asp:TableCell
ID
=
"Tablecell29"
runat
=
"server"
BorderWidth
=
"0"
VerticalAlign
=
"Top"
>
<
asp:Label
ID
=
"lblCV"
runat
=
"server"
SkinID
=
"titleLabel"
meta:resourcekey
=
"lblCV"
/>
</
asp:TableCell
>
<
asp:TableCell
ID
=
"Tablecell30"
runat
=
"server"
BorderWidth
=
"0"
ColumnSpan
=
"3"
>
<
asp:HyperLink
ID
=
"lbCV"
runat
=
"server"
ToolTip='<%# Bind("IDCurriculumVitae") %>' />
</
asp:TableCell
>
</
asp:TableRow
>
<
asp:TableRow
ID
=
"Tablerow8"
runat
=
"server"
>
<
asp:TableCell
ID
=
"Tablecell36"
runat
=
"server"
BorderWidth
=
"0"
ColumnSpan
=
"5"
HorizontalAlign
=
"Right"
>
<
asp:Button
ID
=
"btnUpdate"
Text="<%$ Resources:myRadGrid, Update %>" runat="server"
CommandName="Edit" SkinID="mybutton" Visible="<%# IsEditable %>" />
<
asp:Button
ID
=
"btnDelete"
Text="<%$ Resources:myRadGrid, Delete %>" runat="server"
CommandName="Delete" SkinID="mybutton" OnClientClick="return Confirm();" Visible="<%# IsEditable %>" />
</
asp:TableCell
>
</
asp:TableRow
>
</
table
>
</
ItemTemplate
>
<
EditFormSettings
EditFormType
=
"WebUserControl"
PopUpSettings-Modal
=
"True"
UserControlName
=
"~/Compagnie/Personne.ascx"
>
<
EditColumn
UniqueName
=
"EditCommandColumn1"
>
</
EditColumn
>
<
PopUpSettings
Height
=
"465px"
Width
=
"930px"
/>
</
EditFormSettings
>
</
MasterTableView
>
<
PagerStyle
AlwaysVisible
=
"true"
Mode
=
"NextPrevNumericAndAdvanced"
NextPagesToolTip="<%$ Resources:myRadGrid, PagesNext %>"
NextPageToolTip="<%$ Resources:myRadGrid, PageNext %>"
PagerTextFormat="<%$ Resources:myRadGrid, PagerText %>"
PrevPagesToolTip="<%$ Resources:myRadGrid, PagesPrev %>"
PrevPageToolTip="<%$ Resources:myRadGrid, PagePrev %>"
Wrap="False" />
<
StatusBarSettings
LoadingText="<%$ Resources:myRadGrid, statusbarLoadingText %>" ReadyText="<%$ Resources:myRadGrid, statusbarReadyText %>" />
</
telerik:RadGrid
>
To tell the truth, I'm not sure the problem is even directly due to r.a.d. controls but since they are all over the place, I figured it wouldn't hurt posting this thread in this forum. Note that I'm not considering this problem as a Telerik bug at this point: I'm actually more interested in pointers and insights. Has anyone encountered similar problems? Does my description ring any bells? Am I missing something here? And please, do not recommend the obvious such as refactoring the code or upgrading the r.a.d. Controls for ASP.NET AJAX library: I'm on tight budget and time constraints here. Again, I want to know what's going on!
If anybody wants more information, I will be happy to collaborate.
Thanks in advance.
AL