DataList продолжает отображать ранее загруженный список данных

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

И я использую метод DataList1.Items.Count для подсчета результата поиска числа. Я реализовал этот метод в page_load, однако значение номера списка данных продолжает отображать ранее загруженный список данных.

Вот мой код:

 protected void Page_Load(object sender, EventArgs e)
    {  
        DataList1.DataSourceID = "SqlDataSource3";
        Label1.Text = DataList1.Items.Count.ToString(); 
    }


    private SqlDataReader getReader()
    {
        //get connection string from web.config
        string strConnectionString = ConfigurationManager.ConnectionStrings["ASPNETDBConnectionString1"].ConnectionString;
        SqlConnection myConnect = new SqlConnection(strConnectionString);

        string strCommandText = "SELECT CategoryID, CatName  from Category";

        SqlCommand cmd = new SqlCommand(strCommandText, myConnect);
        myConnect.Open();

        //DataList1.DataSource = reader; 

        DataList1.DataBind();

        // CommandBehavior.CloseConnection will automatically close connection
        SqlDataReader reader = cmd.ExecuteReader(CommandBehavior.CloseConnection);
        return reader;
    }

    protected void RadioButtonList1_SelectedIndexChanged(object sender, EventArgs e)
    { 
        DataList1.DataSourceID = "SqlDataSource1";


        if (RadioButtonList1.SelectedIndex == 0)
        {
            Session["catID"] = 1;

        }
        else if (RadioButtonList1.SelectedIndex == 1)
        {
            Session["catID"] = 2;

        }
        else if (RadioButtonList1.SelectedIndex == 2)
        {
            Session["catID"] = 3; 

        }
        else if (RadioButtonList1.SelectedIndex == 3)
        {
            Session["catID"] = 4;

        }
        else if (RadioButtonList1.SelectedIndex == 4)
        {
            Session["catID"] = 5;

        }

        else
        {
            Session["catID"] = 8;

        }

    } 

Я пытался разместить Item.Count в других местах этого кода, но та же проблема сохраняется.


person user1529419    schedule 24.07.2012    source источник