NullReferenceException при сохранении данных для сеанса в контроллере ASP.NET MVC 3 - PullRequest
0 голосов
/ 02 октября 2011

У меня есть следующий метод представления в контроллере ASP.NET MVC 3, который извлекает данные из Amazon SimpleDb, сохраняет их в списке, а затем сохраняет этот объект списка в сеансе. Но в строке, где я храню объект userBox в сеансе (Session ["userBox"] = userBox), я получаю исключение NullReferenceException. Я уверен, что userBox не является нулевым. Даже если я пытаюсь сохранить простую строку в сеансе (например, Session ["userBox"] = "test"), я все равно получаю исключение NullReferenceException.

Вот код:

  public ActionResult SetSidebarAccountBoxSessions(string id)
    {
        string selectExpression = "select * from MySimpleDBDomain where itemName()='" + id + "'";

        SelectRequest sreq = new SelectRequest().WithSelectExpression(selectExpression);

        SelectResponse sres = sdb.Select(sreq);

        List<User> userBox = new List<User>();



        if (sres.IsSetSelectResult())
        {
            SelectResult selectresult = sres.SelectResult;

            foreach (Item item in selectresult.Item)
            {

                string a = item.Name;


                userBox.Add(new User
                {


                    imageThug = item.Attribute[0].Value,
                    name = item.Attribute[3].Value,
                    bio = item.Attribute[1].Value



                });

            }
        }

        Session["userBox"] = userBox;

        return View();


    }

Я вызываю этот метод SetSideBarAccountBoxSessions (id) из другого метода контроллера:

 HomeController hc = new HomeController();
hc.SetSidebarAccountBoxSessions(item.Name);

Может ли это быть проблемой? Пожалуйста, помогите.

1 Ответ

0 голосов
/ 03 октября 2011

Я думаю, что эта проблема связана с тем, что вы создаете HomeController самостоятельно.Вы можете попытаться использовать TransferToRouteResult для передачи действия в HomeController.

Вы можете найти код TransferToRouteResult по этой ссылке:

Как смоделировать Server.Transfer вASP.NET MVC?

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