У меня есть страница веб-формы, к которой я собираюсь запросить данные из базы данных, выбрав другие значения из раскрывающегося списка, после того как я выбрал правильное значение, в описании я хочу обновить запись базы данных, пока я нажимаю кнопку отправки,например, имя клиента и статус, будет возвращаться только одна запись, и будет показано описание (я могу сделать это в isPostback
и запросить базу данных, используя SQL DataReader, а затем вызвать соответствующий элемент индекса, чтобы получить ее), нокогда я что-то набрал в описании и нажал «отправить», он не обновится в базе данных, но если я не использую if(isPostback)
, он работает.PS если там нет блока if(ispostback)
, то dataUpdate.Update()
работает хорошо.Итак, мой вопрос:
protected void btnSubmit_Click(object sender, EventArgs e)
{
dataUpdate.Update();
}
Код загрузки страницы:
protected void Page_Load(object sender, EventArgs e)
{
ValidationSettings.UnobtrusiveValidationMode = UnobtrusiveValidationMode.None;
if (!IsPostBack)
{
SqlConnection conn1 = new SqlConnection(cxInfo.ConnectionString);
string userInfoQuery1 = "select * from users where id=@id";
SqlCommand userInfo1 = new SqlCommand(userInfoQuery1, conn1);
userInfo1.Parameters.AddWithValue("@id", dropdlCx.SelectedValue);
conn1.Open();
SqlDataReader reader1 = userInfo1.ExecuteReader();
reader1.Read();
if (reader1.HasRows )
{
lblCxId.Text = "" + reader1[0];
SqlConnection conn = new SqlConnection(dataUpdate.ConnectionString);
string userInfoQuery = "select cx_first_name+',' + cx_last_name as 'name',cx_id ,incident_id,description,contact_method from incident where cx_id=@id and status=@status";
SqlCommand userInfo = new SqlCommand(userInfoQuery, conn);
userInfo.Parameters.AddWithValue("@id", lblCxId.Text);
userInfo.Parameters.AddWithValue("@status", dropStatus.SelectedValue);
conn.Open();
SqlDataReader reader = userInfo.ExecuteReader();
reader.Read();
if (reader.HasRows)
{
lblCxId.Text = "" + reader1[0];
txtDesc.Text = (string)reader[3];
radioContact.SelectedValue = (string)reader[4];
desc= (string)reader[3];
}
conn.Close();
}
conn1.Close();
}
if (IsPostBack)
{
lblCxId.Text = dropdlCx.SelectedValue;
/*I want to have txtDesc.txt= database query here, but as long as I add the code here, then the update won't work*/
}
}
Так что я думаю, что есть только одна вещь, которую я получилЗастрял в том, как дать системе понять, что то, что я отправляю, не то, что он собирается обновить, пожалуйста, примите мое значение вместо обновления?