Как исправить значение переданного списка в 0 - PullRequest
0 голосов
/ 02 февраля 2019

Я пытаюсь передать список значений другому методу, однако после вызова второго метода список теряет свое значение.

Первый метод:

public ActionResult Create_Filter([DataSourceRequest] DataSourceRequest request, [Bind(Prefix = "models")]IEnumerable<CourseFilterViewModel> courseFilterVM)
    {
var results = new List<Results>
        {
            new Results {CourseNumber = "100", CourseTitle = "Test Title", CourseSubject = "Subject Test"}
        };

        return RedirectToAction("TestView", "Filter", new {results});

}

2-й метод:

public ActionResult TestView(List<Results> results)
    {
        //results value here is 0               

        return null;
    }

Ожидается вывод: CourseNumber = "100", CourseTitle = "Test Title", CourseSubject= "Предметный тест")

Ответы [ 2 ]

0 голосов
/ 03 февраля 2019

Попробуйте TempData.Данные будут перенесены на одно перенаправление.

public ActionResult Create_Filter([DataSourceRequest] DataSourceRequest request, 
[Bind(Prefix = "models")]IEnumerable<CourseFilterViewModel> courseFilterVM)
{
    var results = new List<Results>
    {
        new Results {CourseNumber = "100", CourseTitle = "Test Title", 
         CourseSubject = "Subject Test"}
    };
    TempData["results"] = results;
    return RedirectToAction("TestView", "Filter");

 }
 public ActionResult TestView()
 {

    if(TempData["results"] != null) {
      //do something
    }
    return whatever;
 }
0 голосов
/ 02 февраля 2019

когда вы выполняете перенаправление на действие, параметр передается в виде строки запроса, поэтому вы не можете передать весь объект, см. Эту проблему: передача объекта в redirecttoaction

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...