Страница помощи Web Api - не избегайте HTML в документации XML

Я использую документацию XML для моей справочной страницы ASP.NET Web API, как показано здесь. Я хотел бы знать, есть ли способ включить html в комментарии так, чтобы он отображался на веб-странице, а не удалялся / игнорировался / экранировался.
В частности, я ищу способ создания новой строки, но было бы здорово создать маркированные списки и т. Д.!

Ex / я хотел бы иметь возможность сделать что-то вроде этого:

/// <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> пометить, как предлагается в нескольких сообщениях для подсказок, но это не работает на моей странице справки.

Любые предложения с благодарностью!

2 ответа

Решение

В установленном 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>

@controllerDocumentation у меня не работает, но меняю строку на@api.Documentation работает. т.е. @html.raw(api.Documentation),

Другие вопросы по тегам