исключение индекса вне диапазона при сохранении в сеанс asp.net - PullRequest
0 голосов
/ 07 октября 2010

Пожалуйста, держите меня в покое, я очень новичок в asp.net.

Я создаю веб-приложение для создания отчета, но слишком много аргументов, чтобы дать каждому имя,и я хочу сохранить их индексированными по номерам, чтобы потом обрабатывать их с помощью циклов по всему приложению.

Однако я получаю индекс вне диапазона для самого первого элемента сеанса (0) ... как я понимаю, мне не нужно создавать экземпляр сеанса самостоятельно, и это должно работать правильно?

        Session[0] = txtComplianceCaseID.Text;
        Session[1] = ddlState.SelectedValue;
        Session[2] = txtActingSupervisor.Text;
        Session[3] = ddlRiskTolerance.SelectedValue;

и т.д ...

Ответы [ 2 ]

2 голосов
/ 07 октября 2010

Объект Session является строковым словарем;Вы должны хранить в нем объекты со строковыми ключами.

Запись Session[0] получит или установит первый элемент в состоянии сеанса.
Поскольку состояние сеанса начинается пустым, оно выдает исключение.

Вместо этого вы должны использовать строки, например:

Session["Compliance ID"] = txtComplianceCaseID.Text;
Session["State"] = ddlState.SelectedValue;
Session["Supervisor"] = txtActingSupervisor.Text;
Session["Risk Tolerance"] = ddlRiskTolerance.SelectedValue;

Вы также можете вызвать Add метод .

0 голосов
/ 07 октября 2010

Подробнее об объекте сессии Asp.net и о том, как его заполнить информацией здесь

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