Как отправить модель (список с более чем 3000 записями) из представления в другое действие get в ASP.Net Core?C#

Место общения программистов C#
Ответить
Anonymous
 Как отправить модель (список с более чем 3000 записями) из представления в другое действие get в ASP.Net Core?

Сообщение Anonymous »


У меня есть проект ASP.net Core. Я хочу отправить всю модель, представляющую собой список продуктов, из представления через тег «a» в другое действие get в контроллере. Я использовал TempData, но он не работает. Модель продуктов имеет множество свойств и внешних ключей. Вот пример:

Первое действие:

public IActionResult ShowProducts(intside, MyViewModel myViewModel) { ViewBag.side = сторона; если (сторона == 0) { Список продуктов = ShowAllProducts(); возврат просмотра(продукты); } List Products2 = FilterProducts(myViewModel); вернуть просмотр (продукты2); } List FilterProducts(MyViewModel myViewModel) { Продукты List = новый List() {}; //некоторый код... возврат продукции; } Список ShowAllProducts() { return _context.Products.Include(p => p.Table1).Include(p => p.Table2) .Include(p => p.Table3).Include(p => p.Table4) .Include(p => p.Table5).Include(p => p.Table6) .Include(p => p.Table7).Include(p => p.Table8).Tolist(); } Второе действие:

public IActionResult PrintProducts (модель List) { вернуть представление (модель); } Представление ShowProducts:

@model IEnumerable @*какой-то тег*@ @*какой-то тег*@ но этот способ тоже не сработал.

Я использовал TempData и изменил действия следующим образом: Первое действие:

public IActionResult ShowProducts(intside, MyViewModel myViewModel) { ViewBag.side = сторона; если (сторона == 0) { Список продуктов = ShowAllProducts(); TempData["MyModel"] = продукты; возврат просмотра(продукты); } List Products2 = FilterProducts(myViewModel); TempData["MyModel"] = Products2; вернуть просмотр (продукты2); } Второе действие:

public IActionResult PrintProducts() { List model = TempData["MyModel"] as List; вернуть представление (модель); } но в таком случае первое представление вообще не загрузилось! Я получил код статуса 500.

Есть ли способ решить эту проблему?
Ответить

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

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

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

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

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