单击按钮时asp.net更新表

单击按钮时asp.net更新表,asp.net,sql-server,stored-procedures,sql-update,Asp.net,Sql Server,Stored Procedures,Sql Update,我是asp.net新手,遇到了一个非常愚蠢的问题。但我想不出来。我有一个表单,该表单由加载页面上DB的数据填充,用户更新表单的输入文本并单击“更新”按钮。它会更新,但会使用旧数据进行更新 为什么要用旧数据更新它 这是aspx表格 <form id="form1" runat="server"> <table> <tr> <td>ID</td> <td><asp:Label ID=

我是asp.net新手,遇到了一个非常愚蠢的问题。但我想不出来。我有一个表单,该表单由加载页面上DB的数据填充,用户更新表单的输入文本并单击“更新”按钮。它会更新,但会使用旧数据进行更新

为什么要用旧数据更新它

这是aspx表格

<form id="form1" runat="server">
<table>
    <tr>
        <td>ID</td>
        <td><asp:Label ID="lbl_id" runat="server" Text=""></asp:Label></td>
    </tr>
    <tr>
        <td>FirstName</td>
        <td><asp:TextBox ID="txt_firstname" runat="server"></asp:TextBox></td>
    </tr>
    <tr>
        <td>LastName</td>
        <td><asp:TextBox ID="txt_lastname" runat="server"></asp:TextBox></td>
    </tr>
</table>
这是存储过程

Create PROCEDURE [dbo].[MedBul_Update_Registration_Request]
(@id int,@FirstName varchar(50),@LastName varchar(50))

    AS
    BEGIN

    update NewProfessionalRequest set FirstName= @FirstName, LastName =@LastName
     where id = @id

    END

    GO

您提到在页面加载时使用数据填充页面控件。 将代码包装在页面上,如下所示:

if(!isPostBack)
{
    // populate form with data from DB here
}

因为当您点击UpdateBtn Page_时,将触发加载事件,并使用数据库中的“旧”数据重新写入您的更改。

您应该检查Page Load上的Page.IsPostBack属性

请参阅以下链接


请添加存储过程的内容。当您在调试模式下再次单击按钮Guncelle时,在txt_firstname.Text中会看到什么?它会显示新数据。显示存储过程。我想问题在于您使用的是哪个版本的.net?我使用的是if(!isPostBack)
if(!isPostBack)
{
    // populate form with data from DB here
}