从文本框中获取新值时的奇怪Bug
本文关键字:Bug 新值时 获取 文本 | 更新日期: 2023-09-27 18:19:25
我有一个网站,在页面加载时,从数据库检索某些信息并填充一些文本框。用户可以修改这些文本框的内容,如果他想做任何更改,然后他可以保存更改。
在保存更改之前,我使用以下命令来获取框的内容:
string username = Session["Username"].ToString();
string vendor_name = Textbox_Vendor.Text;
string address = Textbox_Address.Text;
string city = Textbox_City.Text;
string country = Textbox_Country.Text;
现在,我遇到的主要问题是正在检索的值是旧值。例如,假设在页面加载时,tel字段为12345678,用户将文本框中的值更改为789046778。在保存更改之前,在变量tel中加载的值是12345678,而不是789046778。
如何从文本框中检索新更新的值?谢谢你:)
页面加载
protected void Page_Load(object sender, EventArgs e)
{
Label_Error.Visible = false;
Encryption enc = new Encryption();
if (Session["Username"] == null)
{
Response.Redirect("HomePage.aspx");
}
else
{
string username = Session["Username"].ToString();
string vendor_name = "";
string address = "";
string city = "";
string country = "";
bool exists1 = false;
bool error1 = true;
try
{
string connection1 = ConfigurationManager.ConnectionStrings["DB_Connection"].ConnectionString;
SqlConnection conn1 = new SqlConnection(connection1);
SqlDataReader rdr1 = null;
conn1.Open();
SqlCommand cmd1 = new SqlCommand("GetByUsername", conn1);
cmd1.CommandType = CommandType.StoredProcedure;
cmd1.Parameters.AddWithValue("@username", username);
rdr1 = cmd1.ExecuteReader();
Page_Load
中的新值被旧值覆盖。您在每次页面加载时都将旧值分配给文本框,而实际上您只想在第一次调用时这样做。在回发时,您不需要分配任何内容:
if (!Page.IsPostback)
{
// first call - assign values
Textbox_Vendor.Text = vendor_name;
...
}