#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).