2011-07-15 4 views
1

Le code suivant:asp.net expression DataBind pas évaluer

fichier aspx:

<div id="challengedIndependence" class="collegeAccentBlock grid_8 push_1" runat="server" clientidmode="Static" style='display:<%# testMethod %>' > 

associé fichier aspx.cs:

public string testMethod() 
    { 
     return "none;"; 
    } 

rendue fichier html:

<div id="challengedIndependence" class="collegeAccentBlock grid_8 push_1" style="display:&lt;%# testMethod %&gt;"> 
</div> 

Je m'attends à ce que le résultat ndder as ... style: "display: none;" ... qu'est-ce que je fais de mal?

Je ne sais pas si cela devrait être dans la même question: Je le fais parce que j'ai plusieurs lignes de code pour déterminer si cette div doit être affichée. S'il y a une autre façon de faire cela et une explication pour expliquer pourquoi c'est mieux, j'accepterais aussi cette réponse.

Référence: Inline expressions referenced on MSDN

+1

Où êtes-vous effectuez la liaison de données? – Oded

+0

Est-ce que cela fonctionne avec la propriété au lieu d'une méthode? – sll

+0

Après le commentaire d'Oded, j'ai changé le code pour utiliser la directive d'expression d'affichage '<%= %>' qui n'a pas fonctionné et je ne sais pas pourquoi. La liaison de données se produit en tant que fichier.aspx.cs pour fichier.aspx – sammarcow

Répondre

1

Si vous allez utiliser une expression en ligne ici, il faut tout le contenu de cet attribut, comme ceci:

<div id="challengedIndependence" class="collegeAccentBlock grid_8 push_1" runat="server" clientidmode="Static" style='<%# testMethod() %>' > 

puis retourner la chaîne entière tu veux là. C'est juste de le rendre en tant que partie de la chaîne.

+0

Ceci est correct. – sammarcow

0

Dictate un style de l'interface utilisateur par code épluche ne va pas, mais de toute façon essayer de retourner la chaîne de style tout comme return "display:none" et se lier à l'attribut style

Questions connexes