J'ai un problème avec l'affichage conditionnel du bouton d'édition de formulaire après une publication partielle déclenchée par le contrôle formview. J'ai un bouton d'édition défini dans le ItemTemplate comme ceci:Formview et MS-Ajax UpdatePanel
<asp:FormView ID="fvGenericDetails" runat="server">
<ItemTemplate>
<asp:Button ID="btnEditGenericDetails" runat="server" Visible="false" CausesValidation="False" CssClass="prepend-top" CommandName="Edit" Text="Edit Generic Details" />
</ItemTemplate>
Le bouton est conditionnellement affichée sur la base privilages utilisateur en cas de chargement de la page:
If CurrentUser.HasAdminStatus and fvGenericDetails.CurrentMode = FormViewMode.ReadOnly Then
Dim btnEditGenericDetails As Button = CType(Me.fvGenericDetails.FindControl("btnEditGenericDetails"), Button)
btnEditGenericDetails.Visible = True
End If
Le problème que je vais avoir est que le contrôle formview est dans un UpdatePanel, la publication partielle ne déclenche pas l'événement de chargement de page lorsque le contrôle revient en mode lecture seule et le bouton d'édition n'est pas rendu visible. Quel événement dois-je utiliser pour autoriser cette publication partielle? Edit: Après avoir débogué la page, après la publication partielle, la page a effectivement atteint l'événement page_load mais le formulaireview.currentmode = edit: |
J'ai essayé d'utiliser l'événement ModeChanged sans succès. La réponse est-elle simplement de ne pas utiliser le contrôle formview?
Merci :)
Ce serait semble certainement être la bonne approche, mais malheureusement, le runtime renvoie la référence d'objet non définie à une instance d'un objet, référençant le bouton. –