【问题标题】:getting previous value before edition from textbox in gridview从gridview中的文本框获取编辑前的先前值
【发布时间】:2013-07-16 21:28:37
【问题描述】:

我正在 gridview 上应用编辑功能。

当我的代码控件处于 rowupdating 事件中时,我发现我正在从文本框中获取先前的值(即在我在文本框中进行编辑之前的值)。

以下是我的代码:

Protected Sub gvBooking_RowUpdating(ByVal sender As Object, ByVal e As System.Web.UI.WebControls.GridViewUpdateEventArgs) Handles gvBooking.RowUpdating
            'Dim name As String = DirectCast(gvBooking.Rows(e.RowIndex).FindControl("txtperson1"), TextBox).Text
            Dim nname As String = (gvBooking.DataKeys(e.RowIndex).Values("person_name").ToString)
            Dim id As Integer = Integer.Parse(gvBooking.DataKeys(e.RowIndex).Value.ToString)
            Dim carname As String = gvBooking.DataKeys(e.RowIndex).Values("car_name").ToString

            Dim carac As String = ""


            'Dim sql As String = ""
            'sql = "update dbo.tbl_Book set person_name='" + name + "',ac_type='" + carac + "' where booking_id = " + id.ToString
            'gc.ExecuteCommand(sql)
            'gvBooking.EditIndex = -1
            'gc.BindGridView(gvBooking, "select * from tbl_Book")
        End Sub

在此,如果我将人名从 Henry 编辑为 Scott,然后按更新按钮,那么我通过调试器发现 nname 的值仅为 Henry,这是我进行编辑之前的值,而不是它应该具有值 Scott我编辑的。

我不明白我在哪里犯了错误。

请帮帮我。

【问题讨论】:

    标签: asp.net .net vb.net visual-studio-2008 gridview


    【解决方案1】:

    单击更新后,将引发两个事件。

    1.) GridView.Updating :在更新即将提交之前引发。 在这种情况下,数据库中的数据仍未更新。基本上,此事件是为了在 Update 方法实际将更改的数据提交到数据库之前应用一些动态更改。

    2.) GridView.Updated 数据更新后立即引发此事件。因此,只有在这种情况下,您才放置一个调试符号并检查值。您将看到您的新价值:Scott。

     <asp:GridView ID="GridView1" runat="server" OnRowUpdated="GridView1_RowUpdated"></asp:GridView>    
    

    当您在未进行更新时检查数据。这就是您仅获取原始值的原因。在 GridView1_RowUpdated() 方法中只检查新值。

    另外,如果你想在更新事件中检查你的新值,使用 GridViewUpdateEventArgs.NewValues Property [ e.Newvalues ] as : [ Check MSDN here ]

      string s = e.NewValues[1].ToString(); // 2nd Column // c# sample 
    

    【讨论】:

    • 但是我所有的同事都使用了更新事件并且它与他们一起工作正常,我不明白它可能会出现什么问题
    • 请确保您已在标记部分设置更新事件。往上看。还编辑了我的答案(最后 3 行)以检查更新事件本身中的新值。
    猜你喜欢
    • 2015-11-23
    • 1970-01-01
    • 2018-11-25
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-06-25
    相关资源
    最近更新 更多