2010-09-29 35 views
7

J'ai un système web qui a quelques points d'ancrage dans notre système d'éléments de travail TFS. Une des choses que j'essaie de faire est que quand une certaine action est exécutée, elle prend le texte courant dans un champ et fait un commentaire dans le champ "Commentaires Généraux" annonçant ce que le champ était auparavant (Oui je sais, l'histoire contient ceci mais les plus hauts veulent ceci dans les commentaires de gen).Comment ajouter par programme NewLines à une zone de texte d'élément de travail TFS?

Le problème que j'ai est que TFS semble ignorer Environment.NewLines que j'ai dans ma chaîne. Donc, avec ce code:

    item.Fields[GENCOMMENTS].Value = string.Concat(DateTime.Now.ToShortDateString() 
           , " - QA Dashboard - Required By Date Reason set to \"Hotfix\", but previously contained \"" 
           , item.Fields[REQBYDTREASON].Value.ToString() 
           , "\"." 
           , Environment.NewLine 
           , Environment.NewLine 
           , Environment.NewLine 
           , item.Fields[GENCOMMENTS].Value.ToString()); 

Donc, en supposant ma section générale commentaire contient:

THIS SENTENCE WAS ALREADY IN GENERAL COMMENTS 

-je obtenir la sortie suivante dans la section générale des commentaires lorsque l'élément de travail est enregistré

9/29/2010 - QA Dashboard - Required By Date Reason set to "Hotfix", but previously contained "hotfixtest".THIS SENTENCE WAS ALREADY IN GENERAL COMMENTS 

Pourquoi ignore-t-il les nouvelles lignes et comment puis-je obtenir une nouvelle ligne dans l'élément de travail?

Merci,

Répondre

10

contenu TFS élément de travail est souvent traité comme HTML. Cela se passe probablement ici et c'est pourquoi il ignore les nouvelles lignes superflues dans le texte. Essayez d'envelopper le contenu dans un bloc <pre> ou en utilisant <p> et de voir si cela résout le problème.

+5

Aha qui l'explique. En utilisant '
' a fonctionné aussi bien :) – KallDrexx

1

Les contrôles RTF ou HTMl utiliseront et rendront le balisage html - cela dépend du contrôle. Essayez d'ajouter et de mettre en forme du texte enrichi à un contrôle multiligne, puis de le déboguer dans une application de console - parcourez la valeur du champ - vous verrez les balises html.

+0

par conséquent, vous aurez au moins besoin de
si c'est le cas, les espaces blancs et \ n seront ignorés par un contrôle rtf html. – Andy