9

我有一个 Web 系统,它在我们的 TFS 工作项系统中有几个钩子。我正在尝试做的一件事是,当执行某个操作时,它会在一个字段中获取当前文本并在“General Comments”字段中发表评论,宣布该字段之前的内容(是的,我知道,历史包含这个,但上级希望在 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

为什么它忽略新行,我怎样才能在工作项中加入新行?

谢谢,

4

2 回答 2

13

TFS 工作项内容通常作为 HTML 处理。这很可能发生在这里,因此它忽略了文本中无关的换行符。尝试将内容包装在一个<pre>块中或使用<p>并查看是否可以解决问题。

于 2010-09-29T20:45:29.377 回答
1

RTF 或 HTMl 控件将使用和呈现 html 标记 - 因此取决于控件。尝试将富文本添加和格式化到多行控件,然后在控制台应用程序中对其进行调试 - 浏览字段值 - 您将看到 html 标记。

于 2011-09-29T00:11:56.270 回答