У меня есть этот набор данных
public partial class class1
{
private DataTable dt;
protected void Page_Load(object sender, EventArgs e)
{
if (!IsPostBack)
{
dt.Columns.Add("Col1", System.Type.GetType("System.String"));
dt.Columns.Add("Col2", System.Type.GetType("System.String"));
bind();
}
}
}
private void bind()
{
//database call
//loop
dt.Rows.Add(col1_value.ToString(), col2_value.ToString(), col3.ToString());
// populate the dropdown list with the database entries
}
protected void DropDownList1_SelectedIndexChanged(object sender, EventArgs e)
{
DataRow[] datarow;
variable1= DropDownList1.SelectedValue;
datarow = dt.Select( dt.Columns["col1"] + DropDownList1.SelectedValue);
variable2 = datarow.GetValue(1).ToString();
}
Когда вызывается событие selectedindexchange, в строке datarow = dt.Select( dt.Columns["col1"] + DropDownList1.SelectedValue);
появляется сообщение об ошибке, говоря, что столбец не существует.Все строки и столбцы из таблицы данных теряются из таблицы данных при выполнении selectedIndexChanged.Чего мне здесь не хватает?
Я хочу избежать хранения данных в сеансе или в состоянии просмотра.Кроме того, вопрос в том, почему данные становятся пустыми.Есть ли способ избежать повторного заселения всех данных, которые есть в сообщении?Если у меня есть переменная класса строки, которая не становится пустой после обратной передачи или делает это.