如何在每次单击时按钮重新填充GridView

时间:2015-11-19 04:17:55

标签: c# asp.net database gridview

我在Visual Studio中有一个下拉菜单,当进行选择时,用户单击一个按钮。然后按钮填充GridView。

它可以工作一次,但是如果我第二次选择并点击按钮,则没有任何反应。如何刷新或再次执行操作?

按钮单击C#:

 protected void ButtonChangeEvent_Click(object sender, EventArgs e)
    {
        string constr = ConfigurationManager.ConnectionStrings["Events2"].ConnectionString;
        using (SqlConnection con = new SqlConnection(constr))
        {
            using (SqlCommand cmd = new SqlCommand("spRegistrantsGridView"))
            {
                cmd.CommandType = CommandType.StoredProcedure;
                cmd.Parameters.AddWithValue("@Action", "SELECT");
                cmd.Parameters.Add("@EventId", SqlDbType.Int).Value = DropDownListEvent.SelectedValue;
                using (SqlDataAdapter sda = new SqlDataAdapter())
                {
                    cmd.Connection = con;
                    sda.SelectCommand = cmd;
                    using (DataTable dt = new DataTable())
                    {
                        sda.Fill(dt);
                        GridView1.DataSource = dt;
                        GridView1.DataBind();
                    }
                }
            }
        }
    }

1 个答案:

答案 0 :(得分:2)

第二次点击按钮时检查DropDownListEvent.SelectedValue的值。我怀疑它总是从ddl获取第一个值。如果您在Page_Load事件处理程序中绑定了ddl而未进行!IsPostBack条件检查,则会发生这种情况。

protected void Page_Load(object sender, EventArgs e) {
   if(!IsPostBack) {
       // bind dropdownlist here
   }
}