以下为文件源代码,当修改数量后,点击更新,无法自动更新,唉!
特别有意思的是,当我点击button的批量更新时,第一次点击不起作用,第二次点击,出现更改后的值,第三次又变回以前的值,唉!
高手GGMM,救命啊
   public DataGrid dlBuyCar;
   public Button Url;
   public Button CarClear;
   private void Page_Load(object sender, EventArgs e)
   {
      if(!Page.IsPostBack)
      {
         BindGrid();      }
   }   public void BindGrid()
   {
      DataTable myDt;
      DataRow myDr;
      string str = "";      myDt = new DataTable();
      myDt.Columns.Add(new DataColumn("cBookID",str.GetType()));
      myDt.Columns.Add(new DataColumn("cName",str.GetType()));
      myDt.Columns.Add(new DataColumn("cListPrice",str.GetType()));
      myDt.Columns.Add(new DataColumn("cMemberPrice",str.GetType()));
      myDt.Columns.Add(new DataColumn("cVipPrice",str.GetType()));
      myDt.Columns.Add(new DataColumn("cNum",str.GetType()));
      myDt.Columns.Add(new DataColumn("cTotal",str.GetType()));      if(!Object.Equals(Request.Cookies["Shoppingcart"],null))
      {
         HttpCookie cookie = Request.Cookies["ShoppingCart"];
         for(int i = 0; i < cookie.Values.Count; i++)
         {
            int id;
            double totle;
            myDr = myDt.NewRow();
            if((cookie.Values.AllKeys[i]!="")&&(cookie.Values[i]!=""))
            {               id = int.Parse(cookie.Values.AllKeys[i]);
               string strBookSelectSQL = "SELECT BookID,Name,ListPrice,MemberPrice,VipPrice FROM Fy_BookInfos WHERE BookID = " + id;
               OleDbDataReader BookInfosReader = DbBase.ExecuteSql4Reader(strBookSelectSQL);
               BookInfosReader.Read();
               myDr[0]=BookInfosReader["BookID"].ToString();
               myDr[1]=BookInfosReader["Name"].ToString();
               myDr[2]=BookInfosReader["ListPrice"].ToString();
               myDr[3]=BookInfosReader["MemberPrice"].ToString();
               myDr[4]=BookInfosReader["VipPrice"].ToString();
               myDr[5]=cookie.Values[i];
               totle=double.Parse(BookInfosReader["MemberPrice"].ToString())*double.Parse(myDr[5].ToString());
               myDr[6]=totle.ToString();
               BookInfosReader.Close();
               myDt.Rows.Add(myDr);
            }
         }
      }
      dlBuyCar.DataSource = myDt.DefaultView;
      dlBuyCar.DataBind();
   }
   public void btnCarClear(object sender, EventArgs e)
   {
      HttpCookie cookie = new HttpCookie("ShoppingCart");
      TimeSpan ts = new TimeSpan(-1,0,0,0);
      cookie.Expires = DateTime.Now + ts;
      Response.AppendCookie(cookie);
      BindGrid();
   }   public void btnCarFresh(object sender, EventArgs e)
   {      HttpCookie cookie = new HttpCookie("ShoppingCart");
      foreach(DataGridItem dgi in dlBuyCar.Items)
      {
         string id = dgi.Cells[0].Text;
         string count = ((TextBox)dgi.Cells[5].FindControl("txtcNum")).Text;
         if(count.Trim()!="")
         cookie.Values.Add(id,count);
      }
      TimeSpan ts = new TimeSpan(1,0,0,0);
      cookie.Expires = DateTime.Now + ts;
      Response.AppendCookie(cookie);
      BindGrid();
   }

解决方案 »

  1.   

    DataGrid控件的值无法自动更新
      

  2.   

    keyplayer(冰) html的无状态连接吗?清楚一点点。和这有关系吗?请赐教
      

  3.   

    每次刷新都执行了BindGrid();
    你在BindGrid();中创建的DS所以你的数据....
      

  4.   

    我把      DataTable myDt;
          DataRow myDr;
          string str = "";
    放到了Page_Load上面做了全局变量,可问题还是存在
      

  5.   

    如果你是从C/S转向B/S的,你最好把“无状态连接”搞清楚
      

  6.   

    要改的代码很多吗?
    如果很多,先给点思路行吗
    是更改BindGrid();中的代码吗?
    谢谢啦,我真的很急,这个问题已困扰我两天了
      

  7.   

    没看代码,根据俺经验是postback这里