0

我正在使用编辑和删除选项在 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();                   
 }
}
}

谢谢。

4

1 回答 1

0

您正在尝试在回发时访问查询字符串,这没有任何意义……现在您有多种选择来实现您在此处尝试执行的操作……我将尝试列出其中的一两个.. ..

隐藏字段: 使用以下方法在页面中创建隐藏字段:

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

并在您的 page_load 中将其值设置为 a Prod_Idfrom a QueryString...现在您可以通过hdnField.Value..在回发中访问它

ViewState: 您可以将值保存在 ViewState 中并在回发中使用它......

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

于 2013-06-06T12:41:12.877 回答