如何从文本框字段中获取的值更新记录

本文关键字:获取 更新 新记录 字段 文本 | 更新日期: 2023-09-27 18:17:24

我正在制作一个带有编辑和删除选项的web表单中的记录列表。我已经检索了文本框字段中的值以进行更新。现在,当用户点击更新按钮,记录更新。

如何让它留在同一页面或重定向到另一个页面?

这是我的代码:

public partial class WebForm1 : System.Web.UI.Page
{
  protected void Page_Load(object sender, EventArgs e)
  {
    if (!Page.IsPostBack)
    {
       binddata();
    }
 }
   SqlConnection con;
   SqlDataAdapter da;
   DataSet ds;
  void   binddata()
  {
   string pid = Request.QueryString["Prod_Id"];
   con = new SqlConnection("Data Source=.''sqlexpress; initial catalog=PracticeDb; user id=sa; pwd=manager;");
    con.Open();
    da = new SqlDataAdapter("Select * from Products where Prod_Id='" + pid + "'", con);
    DataSet ds = new DataSet();
    da.Fill(ds);
    con.Close();
   string  P_Name = ds.Tables[0].Rows[0]["Prod_Name"].ToString();
   string U_Prce = ds.Tables[0].Rows[0]["Unit_Price"].ToString();
   string I_Hnd = ds.Tables[0].Rows[0]["In_Hand"].ToString();
   string Fxd = ds.Tables[0].Rows[0]["Fixed"].ToString();
   string Stus = ds.Tables[0].Rows[0]["Status"].ToString();
   TextBox1.Text = P_Name;
   TextBox2.Text = U_Prce;
   TextBox3.Text = I_Hnd;
   TextBox4.Text = Fxd;
   TextBox5.Text = Stus;
 }
 protected void Unnamed1_Click(object sender, EventArgs e)
 {                  
   string pid = Request.QueryString["Prod_Id"];
   var Pd_nme = TextBox1.Text;
   decimal Uni_prce = decimal.Parse(TextBox2.Text);
   int In_hnd = int.Parse(TextBox3.Text);
   string Fxd = TextBox4.Text;
   string Stus = TextBox5.Text;
   SqlConnection con = new SqlConnection();
   con.ConnectionString = ("Data Source=.''sqlexpress; initial catalog=PracticeDb; user id=sa; pwd=manager;");
    con.Open();
    string qry = "UPDATE PRODUCTS SET Prod_Name='" + Pd_nme + "',Unit_Price='" + Uni_prce + "',In_Hand='" + In_hnd + "',Fixed='" + Fxd + "',Status='" + Stus + "' where Prod_Id='" + pid + "'";
    SqlCommand cmd = new SqlCommand(qry, con);
    cmd.ExecuteNonQuery();
    con.Close();                   
 }
}
}

谢谢。

如何从文本框字段中获取的值更新记录

您正在尝试访问回发查询字符串,这没有任何意义…现在你有多种选择来实现你想要做的事情……我将试着列出其中的一两个....

隐藏字段:在页面中使用:

创建一个隐藏字段

<asp:HiddenField runat="server" ID="hdn_field" />

和在你的page_load将其值从QueryString设置为Prod_Id…现在你可以通过hdnField.Value在你的回发中访问它。

视图状态:您可以将该值保存在ViewState中并在回发中使用....

AJAX:

创建对相同或不同页面的ajax调用,并通过将对象序列化为JSON/XML将其发送到服务器,然后处理来自该页面的更新