0

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

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

  • 目的是,在 GridView row_updating 上,如果条件为真,则当前编辑行的某个单元格将使用新值更新。但是,这里是问题:

  • 假设我在gridview上有两行!

  • 如果我单击第一行的编辑按钮,然后按更新按钮,则没有任何反应。
  • 但是,当我单击第二行的编辑按钮时,我可以看到第一行更新的单元格的更新值,如果单击更新或取消,我将看不到该值。
  • 并且在数据表中,值不会更新。

有人可以帮我解决吗?

谢谢

4

2 回答 2

0

那是因为您在执行 Update 语句后没有更新您的 gridview。您需要在 gridview 更新后调用 DataBind()

GridView1.DataSource = yourDataSource;
GridView1.DataBind();
于 2012-04-17T17:51:30.757 回答
0

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

<asp:GridView ID="GridView1" runat="server" DataKeyNames="ID" ...>

在代码隐藏中,您可以获得这样的 ID:

var ID = (int)GridView1.DataKeys[e.RowIndex]["ID"];
于 2012-04-17T17:55:26.513 回答