gpt4 book ai didi

c# - 无法在 asp.net 中编辑文本框

转载 作者:行者123 更新时间:2023-11-30 14:33:47 26 4
gpt4 key购买 nike

我在 page_load 上运行了以下代码

 using (SqlConnection conn = new SqlConnection("myconnectionString"))
{
conn.Open();
using (SqlCommand cmmnd = new SqlCommand("", conn))
{



cmmnd.CommandText = "SELECT * FROM addsetting;";


SqlDataReader rdr = cmmnd.ExecuteReader();
while (rdr.Read())
{
count++;
param = Convert.ToString(rdr["rowno"]);
TextBox1.Text = Convert.ToString(rdr["tostudent"]);
TextBox2.Text = Convert.ToString(rdr["tofaculty"]);
TextBox3.Text = Convert.ToString(rdr["studentday"]);
TextBox4.Text = Convert.ToString(rdr["facultyday"]);
TextBox5.Text = Convert.ToString(rdr["firstweek"]);
TextBox6.Text = Convert.ToString(rdr["secondweek"]);
TextBox7.Text = Convert.ToString(rdr["thirdweek"]);

}
rdr.Close();
}
conn.Close();}

现在填写此表单后,我正在更改值并有一个“保存”按钮。

在 Button2_Click 上很奇怪,当我尝试从文本框中访问编辑后的值时,我没有获得新值。文本框有旧值。

为什么文本框没有编辑后的值。

下面是我用来访问这些值的代码。

 using (SqlConnection conn = new SqlConnection("myconnectionstring"))
{
conn.Open();



using (SqlCommand cmd = new SqlCommand("", conn))
{
cmd.Parameters.Add("@rowno", SqlDbType.VarChar).Value = param;

cmd.Parameters.AddWithValue("@tostudent", TextBox1.Text);
cmd.Parameters.AddWithValue("@tofaculty", TextBox2.Text);
cmd.Parameters.AddWithValue("@studentday", TextBox3.Text);
cmd.Parameters.AddWithValue("@facultyday", TextBox4.Text);
cmd.Parameters.AddWithValue("@firstweek", TextBox5.Text);
cmd.Parameters.AddWithValue("@secondweek", TextBox6.Text);
cmd.Parameters.AddWithValue("@thirdweek", TextBox7.Text);


cmd.CommandText = "UPDATE addsetting SET tostudent=@tostudent,tofaculty=@tofaculty,studentday=@studentday,facultyday=@facultyday,firstweek=@firstweek,secondweek=@secondweek,thirdweek=@thirdweek WHERE rowno=@rowno";
cmd.ExecuteNonQuery();

}

conn.Close();

最佳答案

您是否正在检查 IsPostBack您的 page_load 中的属性?或者无论是否有回发,您概述的代码都会运行吗?

如果代码运行而不考虑回发,那么您正在做的是在 Button2_Click 有机会访问它们之前覆盖 TextBox 值。这是因为 page lifecycle Load 在事件处理之前运行。

如果不是回发(即用户没有单击提交按钮),您可能只希望 page_load 中的数据库检索运行,例如:

if (!Page.IsPostBack)
{
using (SqlConnection conn = new SqlConnection("myconnectionString"))
{
conn.Open();
using (SqlCommand cmmnd = new SqlCommand("", conn))
{
cmmnd.CommandText = "SELECT * FROM addsetting;";
SqlDataReader rdr = cmmnd.ExecuteReader();

while (rdr.Read())
{
count++;
param = Convert.ToString(rdr["rowno"]);
TextBox1.Text = Convert.ToString(rdr["tostudent"]);
TextBox2.Text = Convert.ToString(rdr["tofaculty"]);
TextBox3.Text = Convert.ToString(rdr["studentday"]);
TextBox4.Text = Convert.ToString(rdr["facultyday"]);
TextBox5.Text = Convert.ToString(rdr["firstweek"]);
TextBox6.Text = Convert.ToString(rdr["secondweek"]);
TextBox7.Text = Convert.ToString(rdr["thirdweek"]);
}

rdr.Close();
}
}
}

关于c# - 无法在 asp.net 中编辑文本框,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15561729/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com