Я пытаюсь выбрать динамические данные из выпадающего списка и просмотреть сведения о выбранных элементах. У меня нет проблем с заполнением выпадающего списка данными из базы данных. Однако, когда я выбрал некоторые элементы, он не отображает детали.Выпадающий список Выбранный элемент
В моем представлении слоя, выбирается, когда выпадающий элемент списка:
protected void ddlScheduleList_SelectedIndexChanged(object sender, EventArgs e)
{
string address = ddlScheduleList.SelectedItem.ToString();
Distribution scheduledIndv = new Distribution();
scheduledIndv = packBLL.getDistributionDetail(address);
if (scheduledIndv == null)
{
Console.Out.WriteLine("Null");
}
else
{
tbScheduleDate.Text = scheduledIndv.packingDate.ToString();
tbBeneficiary.Text = scheduledIndv.beneficiary;
}
}
В моей бизнес-логики, я получаю выбранный адрес и передать его в слой доступа к данным:
public Distribution getDistributionDetail(string address)
{
Distribution scheduledIndv = new Distribution();
return scheduledIndv.getDistributionDetail(address);
}
На моем уровне доступа к данным я уже тестировал инструкцию SQL. Это дает мне то, что я хотел. Но он просто не появится на веб-странице.
public Distribution getDistributionDetail(string address)
{
Distribution distributionFound = null;
using (var connection = new SqlConnection(FoodBankDB.GetConnectionString())) // get your connection string from the other class here
{
SqlCommand command = new SqlCommand("SELECT d.packingDate, b.name FROM dbo.Distributions d " +
" INNER JOIN dbo.Beneficiaries b ON d.beneficiary = b.id " +
" WHERE b.addressLineOne = '" + address + "'", connection);
connection.Open();
using (var dr = command.ExecuteReader())
{
if (dr.Read())
{
DateTime packingDate = DateTime.Parse(dr["packingDate"].ToString());
string beneficiary = dr["beneficiary"].ToString();
distributionFound = new Distribution(packingDate, beneficiary);
}
}
}
return distributionFound;
}
И мой выполнить метод чтения в другом отделенном классе:
public static string connectionString = Properties.Settings.Default.connectionString;
public static string GetConnectionString()
{
return connectionString;
}
public static SqlDataReader executeReader(string query)
{
SqlDataReader result = null;
System.Diagnostics.Debug.WriteLine("FoodBankDB executeReader: " + query);
SqlConnection connection = new SqlConnection(connectionString);
SqlCommand command = new SqlCommand(query, connection);
connection.Open();
result = command.ExecuteReader();
connection.Close();
return result;
}
Интересно, что пошло не так. Это о (! IsPostBack) или?
Заранее спасибо.
Я считаю, что вам нужно, чтобы это отправлять назад, чтобы заселить его. Или привяжите его к базе данных. – Jmoreland91
Я уже выяснил свою ошибку. Я забыл включить пост в раскрывающемся списке. Спасибо –
У вас есть уязвимость в SQL-инъекции. – SLaks