Ошибка публикации ASP.NET 5 Core DisplayFor() ⇐ C#

Место общения программистов C#
Anonymous
Ошибка публикации ASP.NET 5 Core DisplayFor()

Сообщение Anonymous »

Я переношу некоторый код из ASP.NET Framework 4.7 в ASP.NET Core. В коде используется оператор foreach для перебора записей. Он использует устаревшую функциональность «DisplayTemplates», которая сопоставляет типы в папке DisplayTemplates, чтобы полиморфно отображать разные HTML-коды для каждого элемента в зависимости от модели. Все классы являются производными от одного и того же базового класса.
Чтобы обеспечить правильную работу в ASP.NET Core, мне пришлось изменить код:

Код: Выделить всё

 @foreach (var token in Model.TokenGraph)
{
@Html.DisplayFor(t => token)
}
кому:

Код: Выделить всё

 @foreach (var token in Model.TokenGraph)
{
@Html.DisplayFor(t => token, token.GetType().Name)
}
... передавая имя типа.
Нет проблем и работает правильно на моей локальной машине.
Проблема в том, что когда я публикую проект на удаленном сервере, используемый шаблон всегда по умолчанию соответствует шаблону базового класса.
Как ни странно, если я вывожу строку, возвращаемую token.GetType().Name на странице, оно соответствует имени производного типа, а не имени базового типа.
Это ошибка в ASP.NET Основной? Если обходного пути нет, есть ли лучший способ справиться с этой проблемой?

Подробнее здесь: https://stackoverflow.com/questions/670 ... ublish-bug

Вернуться в «C#»