18

我正在为我的 ASP.NET Web API 帮助页面使用 XML 文档,如下所示。我想知道是否有办法在评论中包含 html,以便将其呈现在网页上,而不是被删除/忽略/转义。
具体来说,我正在寻找一种创建换行符的方法,但是能够创建项目符号列表等会很棒!

前/我希望能够做这样的事情:

/// <summary>
/// CRUD operations for SalesDocument<br/>
/// This is a new line
/// </summary>
[RoutePrefix("api/SalesDocument")]
public partial class SalesDocumentController : ApiController

并让它显示在帮助页面上,如下所示:

CRUD operations for SalesDocument 
This is a new line.

而不是这个:(在这种情况下,<br/>以某种方式被删除 - 如果我尝试使用<p>标签,它们只是被转义)

CRUD operations for SalesDocument This is a new line.

*我已经尝试过<para>多个帖子建议的标签作为工具提示,但这在我的帮助页面上不起作用。

任何建议都非常感谢!

4

2 回答 2

35

在安装XmlDocumentationProvider.cs文件处Areas\HelpPage,您可以查找一个名为GetTagValue. 这里将返回值从 修改node.Value.Trim()node.InnerXml

private static string GetTagValue(XPathNavigator parentNode, string tagName)
{
    if (parentNode != null)
    {
        XPathNavigator node = parentNode.SelectSingleNode(tagName);
        if (node != null)
        {
            return node.InnerXml; 
        } 
    }

    return null;
}

现在打开安装的文件Areas\HelpPage\Views\Help\DisplayTemplates\ApiGroup.cshtml并修改以下行:

<p>@controllerDocumentation</p>

<p>@Html.Raw(controllerDocumentation)</p>
于 2014-03-12T16:15:23.600 回答
2

@controllerDocumentation对我不起作用,但将线路更改为@api.Documentation有效。即@html.raw(api.Documentation)

于 2017-05-29T10:02:07.240 回答