как проверить, было ли событие ddl.selectedindexchange запущено при загрузке страницы

вот мой код: при загрузке страницы

protected void Page_Load(object sender, EventArgs e)
{

    //On first request
    if (!IsPostBack)
    {
        panel1.Visible = true;
        panel2.Visible = false;
        panel3.Visible = false;
    }
    //for subsequent postbacks
    else 
    {
        //If the enquiry is direct
        if ( Direct_Rdbtn.Checked)
        {
            panel1.Visible = false;
            panel2.Visible = false;
            panel3.Visible = true;

            //add default text value "D" for date dropdownlist of DOB
            if (DOB_Date_Ddl.Items.Count == 0)
            {
                ListItem li = new ListItem();
                li.Text = "D";
                DOB_Date_Ddl.Items.Add(li);
            }
        }
        //For all other sources of enquiries
        else 
        { 
     //in this if statement i actualy want to check for `selectedindexchange` event togther with `AllOthers_Rdbtn.Checked`
            if (AllOthers_Rdbtn.Checked )
            {
                panel1.Visible = false;
                panel2.Visible = false;
                panel3.Visible = true;

            }
            else if (AllOthers_Rdbtn.Checked)
            {
                panel1.Visible = false;
                panel2.Visible = true;
                panel3.Visible = false;
                LinkButton1.Enabled = false;
                LinkButton1.Text = "";
                en.mainEnq_Stu_Mobile = TextBox1.Text;

            }

        }

    }       
}

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

AllOthers_Rdbtn.Checked также проверяется, поэтому вместо отображения третьей панели. панель2 снова отображается. то, что я хочу, - это способ проверить, было ли событие selectedindexchange запущено вместе с Direct_Rdbtn.checked в операторе if.


person Sunny    schedule 27.03.2014    source источник


Ответы (1)


Вы должны переместить код в обработчик событий:

protected void Direct_Rdbtn_SelectedIndexChanged(object sender, EventArgs args)
{
    //If the enquiry is direct
    if (Direct_Rdbtn.Checked)
    {
        ...
    }
    else
    {
        ...
    }
}
person Ivan Doroshenko    schedule 27.03.2014
comment
Спасибо!! работает отлично. как глупо с моей стороны не думать об этом, лол :D - person Sunny; 28.03.2014