使用c#在asp.net中的复选框

时间:2012-03-20 09:20:56

标签: c# asp.net

Hy all ..我想问你,当检查一个复选框时,如何根据选中的复选框显示表中的数据。所以我有两个表:国家和城市。我在一个复选框列表中显示了所有国家/地区,因此每个国家/地区都有一个复选框。现在,当我选中一个复选框时,我想要检查要显示的国家/地区的城市。这是我显示国家/地区的代码:

    SqlConnection con = new SqlConnection(ConfigurationManager.ConnectionStrings["erp"].ConnectionString);
    con.Open();
    string intero = "Select * from judete";
    SqlCommand cmd = new SqlCommand(intero, con);

    SqlDataReader rdr;

    rdr = cmd.ExecuteReader();

    while (rdr.Read())
    {


        CheckBoxList check = new CheckBoxList();
        check.Visible = true;

        check.Items.Add(new ListItem(rdr[1].ToString()));
        Panel1.Controls.Add(check);

        foreach (ListItem item in check.Items)
        {

            item.Text = rdr.GetString(1);
        }

    }

我的问题是:如何根据选中的复选框检索城市?提前谢谢,抱歉重复,但我还没弄明白。

2 个答案:

答案 0 :(得分:2)

你应该做的是:

  1. 将您的checkboxlist autopostback属性设置为true
  2. 关于复选框列表的事件SelectedIndexChanged编写代码以检索checkitem的城市并将其显示在您想要的位置。

答案 1 :(得分:0)

使用此代码获取所选国家/地区

protected void CBCountries_SelectedIndexChanged(object sender, EventArgs e)
{
    string result = Request.Form["__EVENTTARGET"];
    string[] checkedBox = result.Split('$');
    int index = int.Parse(checkedBox[checkedBox.Length - 1]);

    if (CBCountries.Items[index].Selected)
    {
        String Country = CBCountries.Items[index].Value;
        //query your cities table based on selected Country
        BindCities(Country);     
    }
    else
    {
    }
}