Как отправить модель (список с более чем 3000 записями) из представления в другое действие get в ASP.Net Core? ⇐ C#
-
Anonymous
Как отправить модель (список с более чем 3000 записями) из представления в другое действие get в ASP.Net Core?
У меня есть проект 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.
Есть ли способ решить эту проблему?
У меня есть проект 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.
Есть ли способ решить эту проблему?
Мобильная версия