【问题标题】:How do I programmatically add NewLines to a TFS work item textbox?如何以编程方式将 NewLines 添加到 TFS 工作项文本框?
【发布时间】:2011-04-19 01:07:03
【问题描述】:

我有一个 Web 系统,它在我们的 TFS 工作项系统中有几个挂钩。我正在尝试做的一件事是,当执行某个操作时,它会在一个字段中获取当前文本并在“General Comments”字段中发表评论,宣布该字段之前的内容(是的,我知道,历史包含这个,但是高层希望这个在 gen cmets 中)。

我遇到的问题是 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());

所以假设我的一般 cmets 部分包含:

THIS SENTENCE WAS ALREADY IN GENERAL COMMENTS

保存工作项后,我在常规 cmets 部分得到以下输出

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

为什么它会忽略新行以及如何在工作项中添加新行?

谢谢,

【问题讨论】:

    标签: c# tfs newline tfs-workitem


    【解决方案1】:

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

    【讨论】:

    • 因此,如果是这种情况,您至少需要
      ,空白和 \n 将被 html rtf 控件忽略。
    【解决方案2】:

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

    【讨论】:

      猜你喜欢
      • 2010-11-01
      • 2014-09-14
      • 1970-01-01
      • 2011-02-20
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2016-08-26
      • 1970-01-01
      相关资源
      最近更新 更多