2009-10-07 5 views
0

J'utilise C# .netinstruction à l'aide d'une classe dans un répéteur

J'ai un répéteur et un ObjectDataSource (ObjectDataSource est créé dans le code sous-jacent).

Dans le répéteur sont deux boutons (modifier/supprimer). J'ai besoin de système pour masquer/supprimer ces boutons si l'utilisateur n'a pas les autorisations d'éditer/supprimer.

Code répéteur

   <ItemTemplate> 
        <tr class="tRow left"> 
        <td>      
         <asp:Button ID="editClick" OnCommand="EditClick" runat="server" Text="Edit" /> 
         <asp:Button ID="deleteClick" OnCommand="DeleteClick" runat="server" Text="Delete/Cancel" /> 
        </td> 
        <td><%#Eval("bookingID")%></td> 
        </tr> 
     </ItemTemplate> 

Je pensais que je pourrais ajouter une instruction if au répéteur mais le userRepository est une classe et je ne veux pas être accéder à une classe dans mon code source. Y a-t-il une autre façon de le faire?

  <ItemTemplate> 
       <tr class="tRow left"> 
       <td>      
        <%if (!userRepository.GetPermission("xxxxx")) 
        {%> 
        <asp:Button ID="editClick" OnCommand="EditClick" runat="server" Text="Edit" /> 
        <asp:Button ID="deleteClick" OnCommand="DeleteClick" runat="server" Text="Delete/Cancel" /> 
       <%}%> 
       </td> 
       <td><%#Eval("bookingID")%></td> 

Merci à l'avance pour toute aide.

Clare

Répondre

3

Pour neaten les choses dans votre fichier ASPX, vous pouvez ajouter une propriété comme celle-ci à votre code-behind:

public bool HasEditPermission 
{ 
    get { return !userRepository.GetPermission("xxxxx"); } 
} 

puis dans votre page ASPX que vous pourriez faire:

<ItemTemplate> 
    <tr class="tRow left"> 
    <td>      
     <asp:Button ID="editClick" Enabled="<%#HasEditPermission%>" OnCommand="EditClick" runat="server" Text="Edit" /> 
     <asp:Button ID="deleteClick" Enabled="<%#HasEditPermission%>" OnCommand="DeleteClick" runat="server" Text="Delete/Cancel" /> 
    </td> 
    .... 
Questions connexes