2010-04-07 2 views
0

J'ai une commande usercontrol dans une application de formulaires Web ASP sur laquelle je travaille en C#.Recherche d'une méthode pour remplacer une chaîne par un lien hypertexte

Je suis liaison à un répéteur et pour émettre un champ d'information, intitulée « Texte », en utilisant la syntaxe suivante:

<%# DataBinder.Eval(Container.DataItem, "Text") %> 

Je cherche une méthode qui permettra ma de rechercher un mot-clé dans les la chaîne qui est renvoyée par le dessus, et remplacez cette chaîne par un hyperlien tel que

<a href="www.anysite.com/keyword">keyword</a>.

Je ne connais pas très bien les commandes utilisateur et je ne récupère pas les données de cette manière, donc je recherche des conseils sur la meilleure façon de les gérer.

Merci!

+0

Utilisez-vous le contrôle utilisateur dans un répéteur ou le contrôle utilisateur lui-même utilise-t-il un répéteur? – CAbbott

+0

Le contrôle utilisateur lui-même utilise le répéteur. –

Répondre

4

L'exemple sur la page de documentation liée fait presque exactement ce que vous voulez faire - il trouve un contrôle d'étiquette dans l'élément et met à jour le texte. Vous devriez être capable de le modifier à partir de là pour faire une recherche/remplacement de chaîne.

+0

Merci pour le lien Womp. C'était vraiment ce que je cherchais! –

0

Vous devriez pouvoir utiliser l'événement OnItemDataBound pour vérifier la valeur avant de l'afficher à l'utilisateur.

Créez une nouvelle méthode dans votre codebehind et définissez OnItemDataBound = "newmethod" de sorte que chaque fois qu'un élément est lié, il appellera la méthode. Ensuite, dans la méthode, vous vérifiez les données et si vous devez modifier un lien hypertexte, vous pouvez le modifier à ce moment-là. Accrocher dans l'événement Repeater's OnItemDataBound.

Questions connexes