使用LINQ更新GridView数据

时间:2011-03-24 20:55:53

标签: c# asp.net linq linq-to-sql

我有一个需要在RowUpdating事件上更新的GridView。如何使用LINQ更新数据?

我也使用LINQ填充GV,以下是代码:

 protected void Page_Load(object sender, EventArgs e)
    {
         string getEntity = Request.QueryString["EntityID"];
         int getIntEntity = Int16.Parse(getEntity);
         using (OISLinq2SqlVs1DataContext dt = new OISLinq2SqlVs1DataContext())
         {
             var tr = from r in dt.Users
                      join s in dt.Entities on r.Entity_ID equals s.ID
                      where s.ID == getIntEntity
                      select new
                      {
                          s.Name,
                          r.FirstName,
                          r.LastName,
                          s.Email,
                          //r.Email,
                          r.UserID,
                          r.Pwd,
                          s.Company,
                          s.Description,
                          s.Phone,
                          s.Fax,
                          s.WebSite

                      };

             gvShowRegistration.DataSource = tr;
             gvShowRegistration.DataBind();
         }

    }

1 个答案:

答案 0 :(得分:2)

使用LinqDataSource

可以最好地完成您要做的事情

这是Scott Gu的一个很好的教程

http://weblogs.asp.net/scottgu/archive/2007/07/16/linq-to-sql-part-5-binding-ui-using-the-asp-linqdatasource-control.aspx

修改

如果你绝对不能使用Linq DS,那么在你的RowUpdating事件中,你将不得不创建一个 new 数据上下文,根据你行中的DataKey重新读取对象“重新更新,根据您的事件参数指定新值,然后保存更改。

这将是一种痛苦。三重检查您在完成所有操作之前无法使用LDS。