Как сохранить выбранное значение в раскрывающемся списке в сеансе массива? - PullRequest
0 голосов
/ 16 апреля 2019

Я пытаюсь сохранить выбранное значение в dropdownlist в ArrayList Session. В настоящее время я использую следующий метод для сохранения выбранного значения в Session.

    DropDownList ddlSize = item.FindControl("ddlSize") as DropDownList;
    DropDownList ddlCrust = item.FindControl("ddlCrust") as DropDownList;

    ArrayList prodSize = new ArrayList();
    ArrayList prodCrust = new ArrayList();

    prodSize = (ArrayList)Session["prodSize"];
    prodCrust = (ArrayList)Session["prodCrust"];

    prodSize.Add(ddlSize.SelectedValue).ToString();
    prodCrust.Add(ddlCrust.SelectedValue).ToString();

Я закончил тем, что получил ошибку, сказав Object reference not set to an instance of an object.

1 Ответ

1 голос
/ 16 апреля 2019

Любая из двух последних строк может вызвать ошибку, потому что любой из ddlSize, ddlCrust, prodSize, prodCrust или .SelectedValue s равен null. Попробуйте переписать так.

DropDownList ddlSize = item.FindControl("ddlSize") as DropDownList;
DropDownList ddlCrust = item.FindControl("ddlCrust") as DropDownList;

//ArrayList prodSize = new ArrayList(); /redundant
//ArrayList prodCrust = new ArrayList();

var prodSize = Session["prodSize"] as ArrayList;
var prodCrust = Session["prodCrust"] as ArrayList;

if(prodSize != null && ddlSize != null && ddlSize.SelectedValue != null)
    prodSize.Add(ddlSize.SelectedValue); // makes no sense .ToString();
if(prodCrust != null && ddlCrust != null && ddlCrust.SelectedValue != null)
    prodCrust.Add(ddlCrust.SelectedValue); // see above .ToString();
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...