2011-01-21 2 views
0

J'ai un tas de messages de journal de base de données contenant des références comme Invoice 45 ou Case 123 que je veux analyser pour afficher les liens vers la facture ou le cas approprié lors de l'affichage à l'utilisateur.Simple modèle de chaîne dans ASP.NET MVC

Il est assez simple d'analyser RegEx et de le remplacer par un lien d'action utilisant un modèle d'affichage ASCX, mais y a-t-il un bon pour cela? J'imagine que cela signifie écrire un analyseur pour tokenise la chaîne et empêcher toute référence circulaire potentielle.

Répondre

0

Une aide HTML est probablement un meilleur ajustement - l'analyse/affichage ne fait rien que vous pourriez mettre dans l'ascx qui n'est pas mieux traité dans le code.

+0

D'accord, mais je préfèrerais ne pas instancier un nouvel objet RegEx dans chaque modèle d'affichage. Est-il possible que des références circulaires puissent conduire à des remplacements récursifs (récursivité catastrophique)? –

+0

Je ne vois pas vraiment où le risque de récursivité est - n'est-ce pas une simple regex sur une chaîne qui renvoie plusieurs résultats? Rien dans votre exemple ne suggère une récursivité. En outre, je ne m'inquiéterais pas de la surcharge d'instanciation d'une regex - il existe des moyens de partager des objets si nécessaire, mais cela n'a pas d'importance et trouver un modèle d'affichage a aussi beaucoup de frais généraux. –

+0

Si vous êtes préoccupé par la surcharge d'instanciation d'objets séparément chaque fois que l'assistant est appelé, une aide en ligne peut être utile - compilant à une méthode anonyme dans la vue, donc devrait avoir accès à toutes les variables définies dans la partie principale de la vue. –