Страница помощи 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)
,