Как я могу получить страницу, чтобы обновить после обновления SQL для элемента управления GridView?
У меня есть веб-приложение (C#), которое имеет выпадающий список, в котором пользователи выбирают дату окончания недели для расписаний:-
protected void DropDownList1_SelectedIndexChanged(object sender, EventArgs e) { Session["ChosenWeekEnding"] = DropDownList1.SelectedValue; RefreshTransactions(DropDownList1.SelectedValue); Response.Redirect(Request.RawUrl, true); }
RefreshTransactions выполняет SQL - запрос:-
protected void RefreshTransactions(string WE) { string WorkbenchConnection = ConfigurationManager.ConnectionStrings["WorkbenchConnectionString"].ConnectionString; SqlConnection con = new SqlConnection(WorkbenchConnection); con.Open(); string sqltext = "Select JobCode, ActivityCode, WorkCentreCode, TranDate FROM JobTransactions WHERE JobTranReference = '" + WE + "' AND PersonID = 3434 "; SqlCommand cmd = new SqlCommand(sqltext,con); SqlDataReader rdr = cmd.ExecuteReader(); GridView1.DataSource = rdr; GridView1.DataBind(); GridView1.Visible = true; con.Close(); }
При первой загрузке страницы результаты будут действительны. Однако использование выпадающего списка для изменения значения WE, по-видимому, ничего не делает; страница остается неизменной.
Я новичок в веб-приложениях, использующих SQL, чего мне не хватает?
Что я уже пробовал:
Я переместил ответ.Перенаправление в различные другие места кода. Я долго искал примеры для подражания; на самом деле то, что я сделал, было взято из примера.
j snooze
Прежде чем разобраться в этом, обязательно загляните в google и узнайте о параметризованных запросах, иначе вы скоро узнаете о чудесах SQL-инъекции.
Определенно используйте точки отладки и останова для пошагового выполнения кода. Убедитесь, что значение переменной WE-это то, что вы ожидаете от своего выпадающего списка, и что оно должно возвращать что-то из SQL.
ormonds
Спасибо. Да, значение WE правильно, у меня есть временное текстовое поле, которое отображает запрос. Когда я вырезаю и вставляю его в SQL, он работает нормально.
Я начну рассматривать параметризованные запросы.