Comment appeler la fonction Eval dans le code-behind?
Comment diable puis-je appeler la fonction Eval() dans le code-behind? Je sais que c'est un front-end raccourci pour quelque chose comme DataBinder.Eval(Récipient.DataItem, "nom"), mais je ne peux pas obtenir cette fichue chose à compiler. Je suis absent de la bonne paramètres de la méthode, je pense. Je voudrais dire quelque chose comme ceci:
<asp:Image ID="imgLogo" runat="server" ImageUrl='<%# Eval("name") %>'/>
dans:
<asp:Image ID="imgLogo" runat="server" ImageUrl='<%# GetImagePath(???) %>'/>
w/code-behind:
protected string GetImagePath(????)
{
//some code
return "some/logical/path" + Eval("name");
}
L'asp:le contrôle de l'Image dans un répéteur qui est lié à un SqlDataReader.
OriginalL'auteur Bryan | 2009-11-16
Vous devez vous connecter pour publier un commentaire.
Eval
est une méthode dePage
(surTemplateControl
en réalité, ce qui signifie qu'il est également présent surUserControl
). Si vous n'avez pas besoin de passer des paramètres spéciaux:Attention: vous pouvez uniquement appeler
Eval
tandis que la liaison de données, mais c'est implicitement le cas pour<%# Eval(...) %>
trop, de sorte que ne devrait pas poser un problème.Si vous souhaitez que l'objet réel vous êtes à la liaison, de l'utilisation
GetDataItem()
, commeEval(x)
signifieDataBinder.Eval(GetDataItem(), x)
.OriginalL'auteur Ruben
OriginalL'auteur John Sheehan
Avez-vous essayé quelque chose comme:
et
Oui, et c'est passé en argument à la méthode donc, l'évaluation est faite en premier, puis il est passé à votre méthode. Sans doute besoin d'être jeté comme une chaîne de caractères.
OriginalL'auteur tvanfosson
Un autre moyen simple de le faire est d'utiliser la surcharge de la fonction Eval qui prend un format aspx devient:
OriginalL'auteur Nigel Sampson