【问题标题】:Creating a log of changes made via GridView?创建通过 GridView 所做的更改日志?
【发布时间】:2011-04-16 14:29:26
【问题描述】:

我有一个表(申请人),并且使用 GridView 不同的人将更改此 GridView 中的值。我创建了另一个表(历史),我想用它来记录这些更改。现在我有这个来捕捉变化:

    Private Sub grdBusinessServices_RowUpdating(sender As Object, e As System.Web.UI.WebControls.GridViewUpdateEventArgs) Handles grdBusinessServices.RowUpdating
    Dim dbContext As pbu_checklistEntities = New pbu_checklistEntities
    Using dbContext
        Dim HistoryRecord As New History
    End Using
End Sub

我不确定如何捕捉正在变化的信息?在伪代码中,我想做类似的事情:

HistoryRecord.ChangedValues = grdBusinessServices.ChangedValues

【问题讨论】:

  • 您可以使用 SQL 获取旧值并将其作为记录添加到历史记录中。这对您有用吗?
  • 嗯...我很想知道您将如何做到这一点,但我更愿意避免使用直接 SQL,因为我通过 LINQ 做所有其他事情。
  • 不幸的是,我不擅长 VB.NET 和 LINQ .. 但我可以向您保证,这是一个非常简单的 INSERT 命令.. 如果您擅长 LINQ,您只需检索其中的值类型(申请人)或局部变量的对象,您要记录的数据以及发生更新时检查值是否相同然后什么也不做,如果输入了新值,则发送您刚刚存储的值将您的对象或局部变量添加到 LINQ/ADO.NET 方法,该方法将在历史记录表中插入此记录。我会尝试进行一些搜索,并会及时通知您。

标签: asp.net vb.net entity-framework gridview logging


【解决方案1】:

使用以下代码检索一个值,其中“App_Name”是您要检索的列名。

Dim a as string
a = GridView1.DataKeys(GridView1.SelectedIndex).Values("App_Name").ToString()

现在很简单,在检索到所有数据后将它们放入一个对象中,或者您可以首先使用一个对象(而不是使用变量),然后使用 LINQ 将其添加到您的数据库中。

..我真的不擅长LINQ,但我认为这是一个非常简单明了的article我希望它有所帮助

【讨论】:

    猜你喜欢
    • 2015-07-03
    • 1970-01-01
    • 2020-03-11
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多