Bonjour.
J'ai un souci avec un contrôle ascx lors d'un postback dans une page web qui fonctionne la première fois mais pas lors d'un postback.
Je vous explique.
J'ai une page ASCX qui contient un contrôle (TELERIK ROTATOR).
Dans mon code HTML, j'ai ceci :
1 2 3 4 5 6 7 8 9 10 11 12
| <asp:Panel ID="PanelRIGHTROTATORINT" runat="server" Visible="true" CssClass="BlocMainIntRight">
<telerik:radrotator runat="server" id="radrotator1" Width="242px" Height="544px"
ItemWidth="242px" ItemHeight="136px"
ScrollDuration="3200"
FrameDuration="2400"
ScrollDirection="Up" ViewStateMode="Enabled" EnableEmbeddedSkins="true" EnableTheming="true"
AppendDataBoundItems="True" Skin="Black">
<ItemTemplate>
<img id="imageRotator" alt="" src="photos-one-pieces-auto/bandeaux-pubs/<%#Container.DataItem("ProdPhoto1")%>" width="240px" height="130px" />
</ItemTemplate>
</telerik:radrotator>
</asp:Panel> |
Dans le code behind (en VB.NET), je charge seulement le résultat d'une requête SQL dans mon rotator :
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17
|
Protected Sub Page_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load
Dim strSqlPubRotator As String = "select * from MATABLE WHERE ((Active=1) AND ((ProdPhoto1<>'') AND (ProdPhoto1 is not null)))"
strSqlPubRotator = strSqlPubRotator & " ORDER BY Classement DESC "
Dim db As DAL_SQL = New DAL_SQL
Dim DT As DataSet = db.ExecuteDataSet(strSqlPubRotator)
If DT.Tables(0).Rows.Count > 0 Then
PanelRIGHTROTATORINT.Visible = True
radrotator1.DataSource = DT
radrotator1.DataBind()
Else
PanelRIGHTROTATORINT.Visible = False
End If
DT = Nothing
db = Nothing
End Sub |
Ce ROTATOR est codé dans un fichier .ASCX à part donc, et qui est ensuite inclus dans plusieurs pages de mon site.
Jusque là, tout fonctionne parfaitement.
Mais mon problème est le suivant. Quand j'appelle mes pages avec ce contrôle, il marche bien.
Mais, j'ai une fonctionnalité de recherche sur le site qui me pose problème => Quand je rempli un champ de saisie sur une page et qu'après validation j'arrive sur la page résultat, le rotator s'affiche bien. Mais une fois sur cette page, j'ai à nouveau un champs de saisie qui permet de relancer une recherche en saisissant directement sur cette page de résultat une nouvelle valeur à rechercher. Et c'est là, après validation depuis cette page, que le rotator ne fonctionne plus. Le code en lui-même marche, mais la page asx du rotator ne me reconnait plus dans sa partie HTML le code suivant :
<%#Container.DataItem("ProdPhoto1")%>
je ne sais pas si je suis clair ....

Pour valider le formulaire, j'ai un bouton comme ceci :
1 2 3 4 5
| <asp:ImageButton ID="BtImgValider" runat="server"
PostBackUrl="~/Resultat-Recherche.aspx" ValidationGroup="BlocNewRech"
ImageUrl="~/photos/commun/Btn-Rechercher_r1_c1.jpg"
title="Lancer une recherche..">
</asp:ImageButton> |
J'ai essayé de mettre un "if not ispostback" mais sans succès .... je me demande comment je peux arranger cela.
Merci pour toute piste qui pourrait m'aiguiller dans la résolution de ce problème...
Merci.
Partager