none
GridView更新之后没有显示最新数据 RRS feed

  • 问题

  •     public partial class GridViewTemplate : System.Web.UI.Page
        {
            protected void Page_Load(object sender, EventArgs e)
            {
                if (!IsPostBack)
                {
                    BindData();
                }
            }
    
            protected void BindData()
            {
                ICategoryBM categoryBM = (ICategoryBM)TestBaseBM.testBaseContainer.Resolve(typeof(ICategoryBM), "CategoryBM");
    
                this.gridCategories.DataSource = categoryBM.GetAllCategories();
                this.gridCategories.DataBind();
            }
    
            protected void gridCategories_RowEditing(object sender, GridViewEditEventArgs e)
            {
                gridCategories.EditIndex = e.NewEditIndex;
                BindData();
            }
    
            protected void gridCategories_RowCancelingEdit(object sender, GridViewCancelEditEventArgs e)
            {
                gridCategories.EditIndex = -1;
                BindData();
            }
    
            protected void gridCategories_RowUpdating(object sender, GridViewUpdateEventArgs e)
            {
                GridViewRow row = gridCategories.Rows[e.RowIndex];
                CategoryDM categoryDM = new CategoryDM();
                categoryDM.CategoryId = new System.Guid(e.Keys["CategoryId"].ToString());
                categoryDM.Description = e.NewValues["Description"].ToString().Trim();
    
                ICategoryBM categoryBM = (ICategoryBM)TestBaseBM.testBaseContainer.Resolve(typeof(ICategoryBM), "CategoryBM");
    
                categoryBM.Update(categoryDM);
                gridCategories.EditIndex = -1;
                BindData();
            }
        }
    
     上面是代码,但是在上面实现更新之后,页面并没有显示出来更新后的数据,但是数据库里面的数据是已经更新了的,而且在更新之后再次调用BindData()的时候,里面的数据也是更新之后的数据,但就是在绑定了之后无法显示新的数据出来,我用的是linq,不知道是不是linq 的bug呢?
    2012年1月26日 15:15

全部回复

  • 請問你是使用LINQ to SQL還是LINQ to Entity,另外不曉得你在GetAllCategories方法中,是如何透過LINQ取得資料?
    以上說明若有錯誤請指教,謝謝。
    http://www.dotblogs.com.tw/terrychuang/
    2012年1月26日 16:04
  • 用的Linq to Entity

                    using (TestDataContext dataContext = new TestDataContext(connectionName))
                    {
                        return (from category in dataContext.Categories orderby category.CategoryId descending select category).ToList();
                    }
    

    这是我获取所有实体的函数,您有遇到过类似的问题吗?

    2012年1月27日 8:03
  • 我是沒遇過類似的問題。或許你可以重新試試看建立一個簡單且乾淨的網頁來測試,看會不會發生一樣的狀況。
    以上說明若有錯誤請指教,謝謝。
    http://www.dotblogs.com.tw/terrychuang/
    2012年1月30日 1:17
  • 好的,我怎么没有想到,呵呵,这样就可以排除是GriView的原因还是LINQ的原因了,谢谢哈
    2012年2月2日 2:07