Добавить многострочный html-комментарий в макет с помощью помощника

#c# #html #razor

#c# #HTML #razor

Вопрос:

У меня есть этот код:

  public static MvcHtmlString SetCopyRight(this HtmlHelper helper, Type type)
{
  StringBuilder txt = new StringBuilder();

  txt.AppendLine("<!--n");

#if DEBUG
  txt.AppendLine($"({type.Assembly.GetName().Version} DEBUGn");
#else
  txt.AppendLine($"{typeof(string).Assembly.GetName().Version}n");
#endif

  txt.AppendLine($"Copyright(c) 2000 -  { DateTime.Now.Year}n");
  txt.AppendLine($"Page created: { DateTime.Now.ToString("dd MMMM yyyy HH:mm:sstt")}n");

  txt.AppendLine("-->n");

  return new MvcHtmlString(txt.ToString());
}
  

Когда я запускаю веб-сайт, я хотел бы видеть:

 <!--
1.0.0.7 DEBUG
Copyright(c) 2000 -  2020
Page created: 13 October 2020 10:30:30AM
-->
  

в HTML.

По какой-то причине браузер показывает все это в одной строке. Как я могу получить его, как указано выше?

Как ни странно, когда я редактирую HTML в инструменте разработчика браузеров (F12), он отображает текст в нескольких строках.

Комментарии:

1. Попробуйте обернуть свою информацию внутри div и применить пробел: pre-wrap <div style="white-space: pre-wrap"></div>

2. Это не сработает, потому что оно находится между тегами html-комментариев. Html между этими тегами не будет отображаться как html.

3. вы абсолютно правы, можете ли вы добавить код, в котором отображается элемент? потому что рендеринг вашего кода не отображает для меня никакой информации. Я попробовал решение для предварительной обработки без тегов комментариев, и оно работает нормально

4. Предполагается, что он не должен быть виден на странице. Нам просто нужно проверить, какая версия у сайта, открыв инструменты разработчика в браузере (F12).