2009-05-28 7 views
1

J'ai des problèmes pour accéder au champ de données. Je reçois l'erreur: Les méthodes de liaison de données telles que Eval(), XPath() et Bind() ne peuvent être utilisées que dans le contexte d'un contrôle de base de données.Impossible de lier dans la grille asp.net Modèle Colonne

Je peux obtenir la valeur mais en utilisant <% # getOpenJobs ((string) Eval ("ParentPart"))%> mais je dois l'utiliser dans l'if pour afficher une image certian si elle passe la condition. Y a-t-il une meilleure façon de le faire ou est-ce que je manque juste quelque chose de simple?

   <telerik:GridTemplateColumn UniqueName="hasOpenJobs" HeaderText=""> 
       <ItemTemplate> 
         <% if (getOpenJobs((string)Eval("ParentPart")) > 1) 
          { %> 
          <img src="../images/job-icon.gif" alt="Open Jobs" /> 
         <%} %> 
       </ItemTemplate> 
      </telerik:GridTemplateColumn> 

Répondre

3

Dans ces cas, je crée généralement une méthode dans le code-behind pour renvoyer le code HTML généré final. Par exemple.

<ItemTemplate> 
<%# GetJobImageHtml((string)Eval("ParentPart")) %> 
</ItemTemplate> 

Ensuite, faire tout ce dont vous avez besoin dans la logique de la méthode GetJobImageHtml() et retourner une chaîne HTML.

Questions connexes