Button и DropDownList, используя переменную Session/Application в ASP.NET, C#

Как бы я реализовал этот сценарий? У меня есть две кнопки, Button1 и Button2, на странице по умолчанию. Если нажать кнопку 1, содержимое DropDownList на второй странице будет: a, b и c. Однако при нажатии кнопки 2 на странице по умолчанию содержимое DDL на второй странице будет: d и e. Спасибо!

1 ответ

Решение

Если вы используете ASP.NET WebForms, вы можете заполнить переменную Session на первой странице, причем ее содержимое определяется при нажатии любой кнопки. Затем я бы установил DataSource для списка DropDown в переменную Session. Что-то вроде этого:

Страница 1:

protected void Button1_Click(object sender, EventArgs e)
    {
        Session["ListSource"] = new List<string>
        {
            "a",
            "b",
            "c"
        };
    }

    protected void Button2_Click(object sender, EventArgs e)
    {
        Session["ListSource"] = new List<string>
        {
            "d",
            "e"
        };
    }

Страница 2:

        protected void Page_Load(object sender, EventArgs e)
    {
        DropDownList1.DataSource = (List<string>)Session["ListSource"];
        DropDownList1.DataBind();
    }

В MVC вы могли бы с помощью действия Controller сгенерировать список и предоставить его в качестве модели для вашей второй страницы. Тем не менее, если вы ссылаетесь на DropDownList, похоже, вы используете WebForms.

Другие вопросы по тегам