我有一个Web系统,它在我们的TFS工作项系统中有一些钩子。我要做的其中一件事是,当执行某个操作时,它会将当前文本放在一个字段中并在“常规注释”字段中进行注释,以宣布该字段之前是什么(是的,我知道,历史包含这个,但是高层人士希望在gen评论中这样做。)
我遇到的问题是TFS似乎忽略了我在字符串中的Environment.NewLines。所以使用此代码:
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());
因此,假设我的一般评论部分包含:
THIS SENTENCE WAS ALREADY IN GENERAL COMMENTS
保存工作项时,我在常规评论部分得到以下输出
9/29/2010 - QA Dashboard - Required By Date Reason set to "Hotfix", but previously contained "hotfixtest".THIS SENTENCE WAS ALREADY IN GENERAL COMMENTS
为什么忽略新行,如何在工作项中添加新行?
谢谢,
答案 0 :(得分:11)
TFS工作项内容通常以HTML格式处理。这可能发生在这里,因此它忽略了文本中无关的新行。尝试将内容包装在<pre>
块中或使用<p>
,看看是否能解决问题。
答案 1 :(得分:1)
RTF或HTMl控件将使用和呈现html标记 - 因此取决于控件。尝试将富文本格式添加并格式化为多行控件,然后在控制台应用程序中调试它 - 浏览字段值 - 您将看到html标记。