Веб-сайт использует массу запросов Ajax, и большинство из них возвращают небольшое частичное представление с некоторым количеством HTML. Вся информация о переменных в частичном представлении была установлена через данные представления.
После обновления до .NET 5 данные представления поступают в частичное представление как пустые.
Например, я возвращаю частичный «_mailbox». В контроллере вы можете видеть, что у меня есть данные в представлении:

но когда я перехожу к частичному представлению, вы видите, что оно пусто! В версии 2.2 это было передано через:

Основная функция:
Код: Выделить всё
public ActionResult OnGetGetMailbox(int id)
{
ViewData["Fullname"] = "Christopher"
return Partial("_mailbox")
}
Как воспроизвести:
Я начал новый проект, чтобы протестировать и получить тот же самый проблема –


Добавьте новый частичный HTML-файл _test.cshtml

Добавьте новую функцию в index. cshtml.cs

Затем при запуске Интернета app https://localhost:44332/?Handler=test
Я должен увидеть свое имя:

Но там пусто. При отладке и пошаговом выполнении я вижу, что данные представления не передаются в представление.
Другая информация:
- Он работает в .NET Core 2.2.105.
- Согласно документации Microsoft, тот же синтаксис, что и 2.2, должен работать в 5.1. Однако, как отметил Брандо Чжан, чтобы это работало, вам придется использовать устаревший синтаксис .NET 2.1.
- Если вы прочитали документации для функции Partial для .NET 5, она утверждает, что является частью пространства имен Microsoft.AspNetCore.Mvc.RazorPages, но если вы попытаетесь использовать это пространство имен, вы обнаружите, что Partial не существует. см. документацию
Это ошибка?
Подробнее здесь: https://stackoverflow.com/questions/663 ... 2-2-to-net
Мобильная версия