У меня есть 3 вложенных данных DataLists, загружаемых из SQL-запроса для каждого. DataList1_ItemCommand работает правильно, но DataList2_ItemCommand даже не запускается.
protected void DataList1_ItemCommand(Object source, DataListCommandEventArgs e)
{
if (e.CommandName == "Obiectiv")
{
if (e.Item.ItemType == ListItemType.Item || e.Item.ItemType == ListItemType.AlternatingItem)
{
int idob = Convert.ToInt32(DataList1.DataKeys[e.Item.ItemIndex].ToString());
DataList firstDataList = e.Item.FindControl("DataList2") as DataList;
List prm = new List();
prm.Add(new SqlParameter("@IdOB", idob));
firstDataList.DataSource = GetDataTable("SELECT DISTINCT IdCL,Cladire FROM tblCladire WHERE IdOB= @IdOB;", prm);
firstDataList.DataBind();
HtmlControl theDivS = (HtmlControl)e.Item.FindControl("DivS");
theDivS.Attributes["class"] = theDivS.Attributes["class"].Replace("hidden", "").Trim();
}
}
}
protected void DataList2_ItemCommand(Object source, DataListCommandEventArgs e)
{
if (e.CommandName == "Cladire")
{
if (e.Item.ItemType == ListItemType.Item || e.Item.ItemType == ListItemType.AlternatingItem)
{
DataList secondDataList = e.Item.FindControl("DataList2") as DataList;
int idcl = Convert.ToInt32(secondDataList.DataKeys[e.Item.ItemIndex].ToString());
DataList thirdDataList = e.Item.FindControl("DataList3") as DataList;
List prm = new List
{
new SqlParameter("@IdCL", idcl)
};
thirdDataList.DataSource = GetDataTable("SELECT DISTINCT IdCA,Camera FROM tblCamera WHERE IdCL =@IdCL;", prm);
thirdDataList.DataBind();
HtmlControl theDivT = (HtmlControl)e.Item.FindControl("DivT");
theDivT.Attributes["class"] = theDivT.Attributes["class"].Replace("hidden", "").Trim();
}
}
}
private static DataTable GetDataTable(string query, IEnumerable prms = null)
{
string constr = ConfigurationManager.ConnectionStrings["ConnString"].ConnectionString;
using (SqlConnection conn = new SqlConnection(constr))
{
using (SqlCommand cmd = new SqlCommand())
{
cmd.CommandText = query;
using (SqlDataAdapter sda = new SqlDataAdapter())
{
cmd.Connection = conn;
sda.SelectCommand = cmd;
using (DataSet ds = new DataSet())
{
DataTable dt = new DataTable();
if (prms is object)
{
foreach (var prm in prms)
{
cmd.Parameters.Add(prm);
}
}
sda.Fill(dt);
return dt;
}
}
}
}
}
Первый набор данных загружается при загрузке страницы и работает нормально. Затем для каждого значения в списке при щелчке (команда) загружается второй набор данных в DataList1, а затем при щелчке (команда) загружается третий набор данных. На данный момент у меня есть первый и второй набор данных. CommandName="Cladire" не запускается.
Подробнее здесь: https://stackoverflow.com/questions/791 ... d-datalist
OnItemCommand не срабатывает из вложенного списка данных ⇐ C#
Место общения программистов C#
-
Anonymous
1731804061
Anonymous
У меня есть 3 вложенных данных DataLists, загружаемых из SQL-запроса для каждого. DataList1_ItemCommand работает правильно, но DataList2_ItemCommand даже не запускается.
protected void DataList1_ItemCommand(Object source, DataListCommandEventArgs e)
{
if (e.CommandName == "Obiectiv")
{
if (e.Item.ItemType == ListItemType.Item || e.Item.ItemType == ListItemType.AlternatingItem)
{
int idob = Convert.ToInt32(DataList1.DataKeys[e.Item.ItemIndex].ToString());
DataList firstDataList = e.Item.FindControl("DataList2") as DataList;
List prm = new List();
prm.Add(new SqlParameter("@IdOB", idob));
firstDataList.DataSource = GetDataTable("SELECT DISTINCT IdCL,Cladire FROM tblCladire WHERE IdOB= @IdOB;", prm);
firstDataList.DataBind();
HtmlControl theDivS = (HtmlControl)e.Item.FindControl("DivS");
theDivS.Attributes["class"] = theDivS.Attributes["class"].Replace("hidden", "").Trim();
}
}
}
protected void DataList2_ItemCommand(Object source, DataListCommandEventArgs e)
{
if (e.CommandName == "Cladire")
{
if (e.Item.ItemType == ListItemType.Item || e.Item.ItemType == ListItemType.AlternatingItem)
{
DataList secondDataList = e.Item.FindControl("DataList2") as DataList;
int idcl = Convert.ToInt32(secondDataList.DataKeys[e.Item.ItemIndex].ToString());
DataList thirdDataList = e.Item.FindControl("DataList3") as DataList;
List prm = new List
{
new SqlParameter("@IdCL", idcl)
};
thirdDataList.DataSource = GetDataTable("SELECT DISTINCT IdCA,Camera FROM tblCamera WHERE IdCL =@IdCL;", prm);
thirdDataList.DataBind();
HtmlControl theDivT = (HtmlControl)e.Item.FindControl("DivT");
theDivT.Attributes["class"] = theDivT.Attributes["class"].Replace("hidden", "").Trim();
}
}
}
private static DataTable GetDataTable(string query, IEnumerable prms = null)
{
string constr = ConfigurationManager.ConnectionStrings["ConnString"].ConnectionString;
using (SqlConnection conn = new SqlConnection(constr))
{
using (SqlCommand cmd = new SqlCommand())
{
cmd.CommandText = query;
using (SqlDataAdapter sda = new SqlDataAdapter())
{
cmd.Connection = conn;
sda.SelectCommand = cmd;
using (DataSet ds = new DataSet())
{
DataTable dt = new DataTable();
if (prms is object)
{
foreach (var prm in prms)
{
cmd.Parameters.Add(prm);
}
}
sda.Fill(dt);
return dt;
}
}
}
}
}
Первый набор данных загружается при загрузке страницы и работает нормально. Затем для каждого значения в списке при щелчке (команда) загружается второй набор данных в DataList1, а затем при щелчке (команда) загружается третий набор данных. На данный момент у меня есть первый и второй набор данных. CommandName="Cladire" не запускается.
Подробнее здесь: [url]https://stackoverflow.com/questions/79195485/onitemcommand-not-firing-from-nested-datalist[/url]
Ответить
1 сообщение
• Страница 1 из 1
Перейти
- Кемерово-IT
- ↳ Javascript
- ↳ C#
- ↳ JAVA
- ↳ Elasticsearch aggregation
- ↳ Python
- ↳ Php
- ↳ Android
- ↳ Html
- ↳ Jquery
- ↳ C++
- ↳ IOS
- ↳ CSS
- ↳ Excel
- ↳ Linux
- ↳ Apache
- ↳ MySql
- Детский мир
- Для души
- ↳ Музыкальные инструменты даром
- ↳ Печатная продукция даром
- Внешняя красота и здоровье
- ↳ Одежда и обувь для взрослых даром
- ↳ Товары для здоровья
- ↳ Физкультура и спорт
- Техника - даром!
- ↳ Автомобилистам
- ↳ Компьютерная техника
- ↳ Плиты: газовые и электрические
- ↳ Холодильники
- ↳ Стиральные машины
- ↳ Телевизоры
- ↳ Телефоны, смартфоны, плашеты
- ↳ Швейные машинки
- ↳ Прочая электроника и техника
- ↳ Фототехника
- Ремонт и интерьер
- ↳ Стройматериалы, инструмент
- ↳ Мебель и предметы интерьера даром
- ↳ Cантехника
- Другие темы
- ↳ Разное даром
- ↳ Давай меняться!
- ↳ Отдам\возьму за копеечку
- ↳ Работа и подработка в Кемерове
- ↳ Давай с тобой поговорим...
Мобильная версия