UpdatePanel Gridview未更新

出于某种原因,我在更改后不能让Updatepanel中的Gridview刷新。 有人可以帮忙吗?

我正在使用ToolkitScriptManager控件和UpdatePanel。

  <asp:GridView blah...           

Cs

 protected void Unnamed3_Click(object sender, ImageClickEventArgs e) { int rowIndex = GridView1.SelectedIndex; GridViewRow gvr = GridView1.SelectedRow; if (rowIndex >= 0) { //delete String GridViewOne = GridView1.DataKeys[rowIndex].Value.ToString(); //delete image string imagename = gvr.Cells[2].Text; string pathToImage = @"C:\Images\"; pathToImage = pathToImage + imagename; if (System.IO.File.Exists(pathToImage)) { // Use a try block to catch IOExceptions, to // handle the case of the file already being // opened by another process. try { System.IO.File.Delete(pathToImage); } catch (System.IO.IOException m) { Console.WriteLine(m.Message); return; } } int bannerid = Convert.ToInt32(GridViewOne); SqlDataReader sdr = null; SqlConnection conn = GetConnection(); SqlCommand cmd = new SqlCommand("Tool_DeleteBannerAds", conn); cmd.CommandType = CommandType.StoredProcedure; SqlParameter param1 = new SqlParameter(); param1.ParameterName = "@BannerID"; param1.Value = bannerid; cmd.Parameters.Add(param1); conn.Open(); sdr = cmd.ExecuteReader(); sdr.Close(); UpdatePanel1.Update(); GridView1.DataBind(); } else { //don't do anything //keep //Response.Redirect("Default.aspx"); } } 

改变顺序:

  GridView1.DataBind(); UpdatePanel1.Update(); 

这是我的问题代码

ASPX文件

  

文件背后的代码

  protected void Page_Load(object sender, EventArgs e) { if (!Page.IsPostBack) { var Employee = new { EmpID = 1, EmpName = "Rahul Jain", Department = "IT", Age = 33, Address = "Hello" }; var customerList = (new[] { Employee }).ToList(); customerList.Add(new { EmpID = 2, EmpName = "Sheetal Jain", Department = "IT", Age = 33, Address = "Hello" }); GridView1.DataSource = customerList; GridView1.DataBind(); } } protected void Button1_Click1(object sender, EventArgs e) { try { var Employee = new { EmpID = 1, EmpName = "Rahul Jain", Department = "IT", Age = 33, Address = "Hello" }; var customerList = (new[] { Employee }).ToList(); customerList.Add(new { EmpID = 2, EmpName = "Sheetal Jain", Department = "IT", Age = 33, Address = "Hello" }); customerList.Add(new { EmpID = 2, EmpName = "Minakshi Jain", Department = "IT", Age = 33, Address = "Hello" }); GridView1.DataSource = customerList; GridView1.DataBind(); } catch (Exception ex) { throw ex; } } 

本代码Dosent为我创建了回发希望它也能为你工作….

作为替代方案,您可以将UpdateMode参数设置为“Always”(这是默认值),以允许任何触发回发的Web控件自动更新GridView。

这为您节省了几行代码(配置触发器),但如果您动态地向GridView添加控件,这也会有助于您触发页面上的回发事件。