我正在使用编辑和删除选项在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();
}
}
}
感谢。
答案 0 :(得分:0)
你试图在回发上访问查询字符串,这没有任何意义......现在你有多个选项来实现你在这里尝试做的...我将尝试列出一个或两个他们....
隐藏字段: 使用以下命令在页面中创建隐藏字段:
<asp:HiddenField runat="server" ID="hdn_field" />
并在您的page_load中将其值设置为Prod_Id
中的QueryString
...现在您只需hdnField.Value
即可在回发中访问它。
<强>视图状态:强> 您可以将值保存在ViewState中并在回发中使用它....
<强> AJAX:强> 创建对相同或不同页面的ajax调用,并通过将其序列化为JSON / XML将对象发送到服务器,然后从该页面处理更新