Может кто-нибудь, пожалуйста, скажите мне, что я делаю неправильно? Я пытаюсь вызвать метод автоматически при загрузке страницы, однако он не работает.C# Поля страницы не заполняются, как ожидалось
protected void Page_Load(object sender, EventArgs e)
{
if (!Page.IsPostBack)
{
customerInformation();
}
}
protected void ddNames_SelectedIndexChanged(object sender, EventArgs e)
{
customerInformation();
}
private void customerInformation()
{
string dbString = ConfigurationManager.ConnectionStrings["TechSupportDBConString"].ConnectionString;
string query = "SELECT * FROM Customers WHERE Name='" + ddNames.Text + "'";
SqlConnection Connection = new SqlConnection(dbString);
Connection.Open();
SqlCommand Com = new SqlCommand(query, Connection);
SqlDataReader reader = Com.ExecuteReader();
if (reader.Read())
{
lblName.Text = reader["Name"].ToString() + "'s Personal Information";
lblAddress.Text = reader["Address"].ToString() + "\n" + reader["City"].ToString() + " " + reader["State"].ToString() + " " + reader["ZipCode"].ToString();
lblPhone.Text = reader["Phone"].ToString();
lblEmail.Text = reader["Email"].ToString();
reader.Close();
Connection.Close();
}
}
Вы пробовали отладку? – Alex
Что такое проблема? 'IsPostBack' означает, что ваша' customerInformation' будет вызываться только при загрузке страницы в первый раз. В последующих обратных передачах этот метод не будет вызываться снова, что ожидается поведением. Однако, если вы хотите загрузить информацию о клиентах на некоторых нажмите кнопку, чтобы явно вызвать 'customerInformation' –
@Neel. Я хочу, чтобы все метки были обновлены с использованием надлежащих данных из базы данных, поскольку страница загружается в первый раз. Поскольку в раскрывающемся списке будет уже выбранное значение. – HereToLearn