Частичные представления больше не получают данные просмотра после обновления с .NET Core 2.2 до .NET 5.C#

Место общения программистов C#
Ответить
Anonymous
 Частичные представления больше не получают данные просмотра после обновления с .NET Core 2.2 до .NET 5.

Сообщение Anonymous »

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

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

Основная функция:

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

public ActionResult OnGetGetMailbox(int id)
{
ViewData["Fullname"] = "Christopher"
return Partial("_mailbox")
}
Есть ли у вас идеи, что могло пойти не так? По сути, я просто выполнил шаги, описанные Microsoft.
Как воспроизвести:
Я начал новый проект, чтобы протестировать и получить тот же самый проблема –
Изображение
Изображение

Добавьте новый частичный 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 не существует. см. документацию
[img]https://i.sstatic. net/IRRwA.png[/img]

Это ошибка?

Подробнее здесь: https://stackoverflow.com/questions/663 ... 2-2-to-net
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

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