使用ASP.NET2010从文本框更新SQL记录

使用ASP.NET2010从文本框更新SQL记录,asp.net,Asp.net,我正在将一个变量(记录ID)从一个具有数据网格的表单传递到另一个webform,以便更新该特定记录。我的问题出现在我尝试更新记录时。文本框的值会更改为新数据,但程序会在更改发生之前传递文本框的值。 我的快速解决方案是在按钮上添加回发,只是为了检查这是否会产生影响。只有当我硬编码记录ID字段,回发会删除我传递给新表单的参数时,这种方法才有效 有人知道如何解决这个问题吗?正如你所看到的,我是ASP.Net的新手 这是按钮的ASP代码: asp:Button ID=“btnSaveChanges”ru

我正在将一个变量(记录ID)从一个具有数据网格的表单传递到另一个webform,以便更新该特定记录。我的问题出现在我尝试更新记录时。文本框的值会更改为新数据,但程序会在更改发生之前传递文本框的值。 我的快速解决方案是在按钮上添加回发,只是为了检查这是否会产生影响。只有当我硬编码记录ID字段,回发会删除我传递给新表单的参数时,这种方法才有效

有人知道如何解决这个问题吗?正如你所看到的,我是ASP.Net的新手

这是按钮的ASP代码:

asp:Button ID=“btnSaveChanges”runat=“server”Text=“Save Changes”postbackurl=“~/EditContact.aspx”Width=“101px”

下面是我必须更新记录的VB代码:

   Dim tempContactID As String = Request.QueryString().ToString
   Dim objConnection As OleDbConnection = Nothing
    Dim objCmd As OleDbCommand = Nothing
    Dim strConnection As String, strSQL As String

    'Connection String to Database
    strConnection = "provider=SQLOLEDB;data source=HP-G640;Database=Contacts;user ID=contactsUser;password=password;"

    objConnection = New OleDbConnection(strConnection)
    objConnection.ConnectionString = strConnection

    objConnection.Open()


    strSQL = "update ContactDetails set ContactFirstName = '" & txtFirstName.Text & "', ContactMiddleName = '" & txtMiddleName.Text & "',ContactLastName = '" & txtLastName.Text & "', ContactAddress = '" & txtAddress.Text & "', ContactCity = '" & txtCity.Text & "', ContactState = '" & txtState.Text & "', ContactZipCode = '" & txtZipCode.Text & "', ContactPhone = '" & txtHomePhone.Text & "', ContactCell = '" & txtCell.Text & "', ContactEmail='" & txtEmail.Text & "'  where ContactID = 6"
    objCmd = New OleDbCommand(strSQL, objConnection)

    objCmd.ExecuteNonQuery()

    'Close Connection
    objConnection.Close()
    Response.Write("Record updated successfully")

在按钮上使用事件而不是回发url

<asp:Button ID="btnSaveChanges" runat="server" Text="Save Changes" OnClick="btnSaveChanges_Click"
    Width="101px" />

“程序正在更改前传递文本框的值。”-我不太清楚你的意思。您是否在网络表单中进行更新?我认为我们需要在事件发生之前看到更多的代码。页面加载。如果(!Page.IsPostBack)
void btnSaveChanges_Click(object sender, EventArgs e)
    {
        //do your work
    }