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

Ваш аккаунт

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

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

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

Динамическое создание кнопок

29K
03 февраля 2010 года
cool1985
36 / / 17.01.2009
Добрый день. Вот проблемка у меня, может кто подскажет. При загрузке страници мне нужно чтобы создавались кнопки LinkButton, я пишу
Page_load(...)
{
LinkButton lbut = new LinkButton();
lbut.ID="myButton";
lbut.Text="test";
this.Controls.Add(lbut);
}

Вот типа этого как и в книге написано, но при загрузке браузером выдает ошибку, что нужно для кнопки указать тип runat="server", а как его указать динамически я не знаю. Подскажите. ПРобовал и чз Style и чз Attribute, все не то...пожалуйста.
257
03 февраля 2010 года
kosfiz
1.6K / / 18.09.2005
Вы неправильно поняли. Вам нужно помещать ваш LinkButton в тег формы с runat="server". Так что если у вас id формы form1, то меняйте ваш this на него и всё.
29K
05 февраля 2010 года
cool1985
36 / / 17.01.2009
Ну спасибо большое!!!!! точно, все работает!
но теперь другая проблема. Дело в том что LinkButton[] появляются по нажатию кнопки на форме и к ним присваивается событие Click, но при нажатии на линк события не происходит, почему я знаю, но как это исправить может подскажете???
257
05 февраля 2010 года
kosfiz
1.6K / / 18.09.2005
Что исправить? Код показывайте. Вообще надо
 
Код:
lbut.Click += EventHandler(ваш_метод);

причем ваш_метод должен иметь соответствующую сигнатуру.
29K
06 февраля 2010 года
cool1985
36 / / 17.01.2009
В общем тема такая. Есть база данных, в ней новости с заголовками...при нажатии на кнопку создаются на той же форме LinkButton ссылки с именами заголовков, к ним присваивается событие Click, но при нажатии на ссылку событие не срабатывает, потому что линки обнуляются...как это исправить??? вот код если поможет...


protected void ButtonShowNews_Click(object sender, EventArgs e)
{

int day, month, year;

day = Convert.ToInt32(TextBoxNumber.Text);
month = Convert.ToInt32(DropDownListMonth.SelectedValue);
year = Convert.ToInt32(DropDownListYear.Text);
DateTime dtFrom = new DateTime(year, month, day);

day = Convert.ToInt32(TextBoxNumber2.Text);
month = Convert.ToInt32(DropDownListMonth2.SelectedValue);
year = Convert.ToInt32(DropDownListYear2.Text);
DateTime dtBefore = new DateTime(year, month, day);



mySql.ReadAllTable("NewsTable");// возвращает результат в mySql.sdReader

DateTime dtBase = new DateTime();
int count_news = 0;
try
{
linkHeadNews = new LinkButton[isize];
while (mySql.sdReader.Read())
{
dtBase = (DateTime)mySql.sdReader["Data"];

if ((dtBase.Date >= dtFrom.Date) && (dtBase.Date <= dtBefore.Date))
{

if (count_news >= isize)
Array.Resize<LinkButton>(ref linkHeadNews, isize += 5);

linkHeadNews[count_news] = new LinkButton();
linkHeadNews[count_news].Text =mySql.sdReader["Headline_news"].ToString()+"</br></br>";
linkHeadNews[count_news].Click += new EventHandler(LinkHeadNews_Click);
Panel1.Controls.Add(linkHeadNews[count_news]);

count_news++;

}
}

}
catch (Exception ex)
{
LabelError.Text = ex.Message;
}
}
257
07 февраля 2010 года
kosfiz
1.6K / / 18.09.2005
Что-то мне подсказывает, что вы хотите реализовать то, что делается с помощью ajax. Есть ли где-то пример того, что вы хотите реализовать у себя? Если "да", то киньте ссылку.
29K
07 февраля 2010 года
cool1985
36 / / 17.01.2009
да нет, я даже не знаю что такое ajax :) .и прмера не знаю, просто тест дали, почти все сделал, а вот на этой фигне и запарился :(
Реклама на сайте | Обмен ссылками | Ссылки | Экспорт (RSS) | Контакты
Добавить статью | Добавить исходник | Добавить хостинг-провайдера | Добавить сайт в каталог