如何更新用户输入的文本框中的值

本文关键字:文本 输入 用户 何更新 更新 | 更新日期: 2023-09-27 18:21:53

我有一个类似的代码

<form id="form1" runat="server">
        <asp:Label ID="Label1" runat="server" Visible="False" Text="Please update the price"></asp:Label>
        <br />
        <br />
        <asp:TextBox ID="TextBox1" runat="server"></asp:TextBox>
        <br />
        <br />
        <asp:Button ID="Button1" runat="server" Text="Button" OnClick="Button1_Click" />
    </form>

C#是

namespace WebApplication6
{
    public partial class WebForm20 : System.Web.UI.Page
    {
        protected void Page_Load(object sender, EventArgs e)
        {
            if (Session["onealbumid"] != null)
            {
                Label1.Visible = true;
                int onealbumid = Convert.ToInt32(Session["onealbumid"]);
                String Artists = System.Configuration.ConfigurationManager.ConnectionStrings["FleetManagementConnectionString"].ConnectionString;
                System.Data.SqlClient.SqlConnection con = new System.Data.SqlClient.SqlConnection(Artists);
                SqlCommand cmd = new SqlCommand("Select Price from OneAlbum where OneALbumID='" + onealbumid + "'", con);

                con.Open();
                TextBox1.Text = cmd.ExecuteScalar().ToString();
                con.Close();


            }
            else {
                Response.Redirect("~/BENEinsertOneAlbum3.aspx");
            }
        }
        protected void Button1_Click(object sender, EventArgs e)
        {
            String Artists = System.Configuration.ConfigurationManager.ConnectionStrings["FleetManagementConnectionString"].ConnectionString;
            System.Data.SqlClient.SqlConnection con = new System.Data.SqlClient.SqlConnection(Artists);
            int onealbumid = Convert.ToInt32(Session["onealbumid"]);
            SqlCommand command = new SqlCommand(@"UPDATE [dbo].[OneAlbum] 
                SET Price=@Price where OneAlbumID =" + onealbumid + ";", con);
            command.Parameters.AddWithValue("@Price", TextBox1.Text);
            con.Open();
            command.ExecuteNonQuery();
            con.Close();
            Response.Redirect("~/BENEinsertOneAlbum3.aspx");
        }
    }
}

有一个页面/表单,在此页面之前,用户从gridview 中选择用户想要更改的价格

我希望用户在此页面的文本框1中编辑新的"价格"。

所以现在正在发生这种事。

例如,我在此页面之前选择"价格"22,当此页面打开/加载显示22的文本框1时。

所以我在Texbox1中将/类型更改为40,然后单击按钮。

价格仍然是22。不是40,我检查了数据库,它仍然没有改变,仍然是22

为什么会发生这种情况?

如何更新用户输入的文本框中的值

Page_Load将覆盖您正在输入的数据。对其进行!IsPostBack检查,这样当您单击按钮时,数据不会恢复到加载表单时的状态。

另外,这个代码中的gridview在哪里?有这样一个类,因此要注意在显示代码时使用的术语。