Справочник функций

Ваш аккаунт

Войти через: 
Забыли пароль?
Регистрация
Информацию о новых материалах можно получать и без регистрации:

Почтовая рассылка

Подписчиков: -1
Последний выпуск: 19.06.2015

событие linkbutton

49K
14 мая 2009 года
vladlen09
2 / / 14.05.2009
Добрый вечер, друзья-товарищи. Хотел сделать что-то типа простенькой навигации, при помощи linkbutton'ов.
При загрузке страницы появляются линкбаттоны с названиями типов оборудования(холодильное, механическое и тд). При выборе определенного типа оборудования (событие onLinkClick) появляются линкбаттоны с подтипами, а при выборе подтипа (событие onLinkClick2)- список оборудования. Надеюсь понятно объяснил. Так вот, при нажатии на подтип оборудования, ничего не происходит (событие onLinkClick2 неправильно срабатывает) - мало того, все линкбаттоны с подтипами исчезают , а при нажатии на тип опять появляются.
Подскажите пожалуйста в чем дело! ASP.NET изучаю недавно, так что не пинайте сильно.

вот код:

private void Page_Load(object sender, System.EventArgs e)
{
sqlCon.Open();
reader = cmd.ExecuteReader();

while (reader.Read())
{
Panel pn=new Panel();
LinkButton lb = new LinkButton();
lb.Text = reader["eqkind_name"].ToString();
lb.Click += new EventHandler(onLinkClick);
Panel1.Controls.Add(pn);
pn.Controls.Add(lb);
}
reader.Close();

}

public void onLinkClick(object sender, EventArgs e)
{
cmd2.CommandText="select eqtype_name from equipment_type where eqkind_id =(select eqkind_id from equipment_kind where eqkind_name='"+((LinkButton)sender).Text+"')";
r2 = cmd2.ExecuteReader();

while (r2.Read())
{
Panel pn2=new Panel();
LinkButton lb2 = new LinkButton();
lb2.Text = r2["eqtype_name"].ToString();
lb2.Click += new EventHandler(onLinkClick2);
Panel2.Controls.Add(pn2);
pn2.Controls.Add(lb2);
}
r2.Close();


}

public void onLinkClick2(object sender, EventArgs e)
{

cmd3.CommandText="select eq_name from equipment where eqtype_id =(select eqtype_id from equipment_type where eqtype_name='"+((LinkButton)sender).Text+"')";
r3 = cmd3.ExecuteReader();

while (r3.Read())
{
Panel pn3=new Panel();
LinkButton lb3 = new LinkButton();
lb3.Text = r3["eq_name"].ToString();
lb3.Click += new EventHandler(onLinkClick3);
Panel3.Controls.Add(pn3);
pn3.Controls.Add(lb3);
}
r3.Close();

}

public void onLinkClick3(object sender, EventArgs e)
{
}
2.0K
14 мая 2009 года
nevile
138 / / 05.01.2007
Если я тебя правильно понял то тебе надо сделать что-то типа выпадающего меню? Если так то обрати свой взор на стандартный элемент Menu. Скомпоновав два меню получишь примерно то что ты хочешь.
ЧТобы протестить твой код, кинь плиз еще содержание страницы .aspx
49K
14 мая 2009 года
vladlen09
2 / / 14.05.2009
Дело в том, что у меня старая (1.1) версия .NET, а там нет Menu.
Слышал, что можно бесплатно скачать урезанную версию новой .NET.
Есть ли смысл?
5
14 мая 2009 года
hardcase
4.5K / / 09.08.2005
Цитата: vladlen09
Дело в том, что у меня старая (1.1) версия .NET, а там нет Menu.
Слышал, что можно бесплатно скачать урезанную версию новой .NET.
Есть ли смысл?


Как бы дотнет не "режется". Уже 3.5 версия-то ;)
Можете скачать-поставить его, посмотреть. Существует свободно распространяемая IDE - SharpDevelop (это если не хотите на VisualStudio2008 сразу вот так переходить), она уступает VS2005 или VS2008, но уж точно удобнее VS2003.

Реклама на сайте | Обмен ссылками | Ссылки | Экспорт (RSS) | Контакты
Добавить статью | Добавить исходник | Добавить хостинг-провайдера | Добавить сайт в каталог