Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/asp.net/30.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 更新gridview的特定单元格不起作用,更新未发生,并且存在一些问题_C#_Asp.net_Sql - Fatal编程技术网

C# 更新gridview的特定单元格不起作用,更新未发生,并且存在一些问题

C# 更新gridview的特定单元格不起作用,更新未发生,并且存在一些问题,c#,asp.net,sql,C#,Asp.net,Sql,晚上好,有人让我帮她修复asp.net的一些代码,她给我看了她的代码,但我找不到修复的方法。所以我想知道是否有人愿意花时间帮我修复它 正如她所说,她正在使用asp.net(NETF.4)。在一个页面上,她添加了一个gridview,并使用sqldatasource将数据表中的信息绑定到gridview 目的是,在GridView行上,如果条件为真,则更新 然后,当前编辑行的某个单元格将更新为 新的价值观。 但问题是: 假设我在gridview上有两行 如果单击第一行的“编辑”按钮,然后按“更新

晚上好,有人让我帮她修复asp.net的一些代码,她给我看了她的代码,但我找不到修复的方法。所以我想知道是否有人愿意花时间帮我修复它

正如她所说,她正在使用asp.net(NETF.4)。在一个页面上,她添加了一个gridview,并使用sqldatasource将数据表中的信息绑定到gridview

  • 目的是,在GridView行上,如果条件为真,则更新 然后,当前编辑行的某个单元格将更新为 新的价值观。 但问题是:

  • 假设我在gridview上有两行

  • 如果单击第一行的“编辑”按钮,然后按“更新”按钮,则不会发生任何事情
  • 但是当我点击第二行的编辑按钮时,我可以看到 第一行单元格的更新值,如果单击“更新”或“取消”,则 再也看不到价值了
  • 在datatable中,该值不会更新
有人能帮我修一下吗


谢谢,这是因为您在执行Update语句后没有更新gridview。在gridview上进行更新后,需要调用DataBind()

GridView1.DataSource = yourDataSource;
GridView1.DataBind();

您需要将
ID
分配给
DataKeyNames
属性,然后可以获得如下值:

<asp:GridView ID="GridView1" runat="server" DataKeyNames="ID" ...>
var ID = (int)GridView1.DataKeys[e.RowIndex]["ID"];

您好,我已经尝试了,我得到了:无法绑定多部分标识符“System.Web.UI.WebControl.GridViewRow”。(这里是com.ExecuteNonQuery();)很好,但是当我按下更新按钮时出现了一个问题,我得到一个错误:DataSource和DataSourceID都是在“GridView1”上定义的。删除一个定义。(GridView1.DataBind();)。当我再次刷新页面时,代码起作用了。但是我总是会遇到错误,我能做什么呢?这是因为您不能使用声明性数据源(
SqlDataSource
ObjectDataSource
,等等)并在代码隐藏中分配数据源。选择一个或另一个,你应该都准备好了。