我在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();
}
}
}
}
}
答案 0 :(得分:2)
第二次点击按钮时检查DropDownListEvent.SelectedValue
的值。我怀疑它总是从ddl获取第一个值。如果您在Page_Load
事件处理程序中绑定了ddl而未进行!IsPostBack
条件检查,则会发生这种情况。
protected void Page_Load(object sender, EventArgs e) {
if(!IsPostBack) {
// bind dropdownlist here
}
}