Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > .NET Frameworks (точка нет фреймворки) > ASP.NET
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 11.10.2014, 17:42   #1
linkoln_7
Форумчанин
 
Регистрация: 04.03.2013
Сообщений: 164
По умолчанию Нарушение жизненного цикла страница

помогите, пожалуйста,решить проблему добавления динамических кнопок.Не очень понимаю жизненный цикл страницы

Код:
<asp:Content ID="HeaderContent" runat="server" ContentPlaceHolderID="HeadContent">
</asp:Content>
<asp:Content ID="BodyContent" runat="server" ContentPlaceHolderID="MainContent">
    
    <p> <asp:ScriptManager ID="ScriptManager1" runat="server">
    </asp:ScriptManager>
        &nbsp;<asp:UpdatePanel ID="UpdatePanel1" runat="server">
        <ContentTemplate>
            <asp:Button ID="Button1" runat="server" Text="Button" onclick="Button1_Click" />
 
            <asp:Panel ID="Panel1" runat="server" BorderColor="#0099CC" BackColor="#CCCCFF">
            </asp:Panel>
 
 
            </ContentTemplate>
 
        </asp:UpdatePanel>
    </p>
    
</asp:Content>
Код:
public partial class _Default : System.Web.UI.Page
    {
        protected void Page_Load(object sender, EventArgs e)
        {
 
        }
        Button b = new Button();
        List<Button> lb = new List<Button>();
        int i = 1;
        protected void Button1_Click(object sender, EventArgs e)
        {
            Button bt = new Button();
            bt.Text = i.ToString();
 
           // bt.Click += new System.EventHandler(bt_Click);
            Panel1.Controls.Add(bt);
            lb.Add(bt);
            i++;
        }
        protected void bt_Click(object sender, EventArgs e)
        {
            b = ((Button)sender);
        }
        
    }
}
нужно воссоздать динамический контроль на обратной передачи в Init или по событию page_load ,так ведь как то или что не так,а то не очень разобрался?
Заранее спасибо
linkoln_7 вне форума Ответить с цитированием
Старый 11.10.2014, 18:23   #2
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,792
По умолчанию

Цитата:
Не очень понимаю жизненный цикл страницы
Это поможет: http://msdn.microsoft.com/ru-ru/libr...vs.100%29.aspx
Цитата:
нужно воссоздать динамический контроль
Т.е. чтоб созданные кнопки никуда не девались?
Попробуй List<Button> lb = new List<Button>(); вынести в глобальную переменку класса.
I'm learning to live...
Stilet вне форума Ответить с цитированием
Старый 11.10.2014, 20:51   #3
linkoln_7
Форумчанин
 
Регистрация: 04.03.2013
Сообщений: 164
По умолчанию

А сейчас она же тоже глобальная

просто сейчас добавляется только одна динамическая кнопка,если на нее нажать,она исчезает,а мне нужно ,что бы при каждом клике добавлялась новая кнопка

Последний раз редактировалось Stilet; 11.10.2014 в 21:02.
linkoln_7 вне форума Ответить с цитированием
Старый 11.10.2014, 21:02   #4
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,792
По умолчанию

Цитата:
А сейчас она же тоже глобальная
Ой! Мой косяк, недосмотрел. Не привык что глобалки описываются не в самом верху.
I'm learning to live...
Stilet вне форума Ответить с цитированием
Старый 11.10.2014, 21:34   #5
linkoln_7
Форумчанин
 
Регистрация: 04.03.2013
Сообщений: 164
По умолчанию

Я просто где вычитывал,что нужно еще что то в Init событии прописывать,что все работало.

Цитата:
Сообщение от linkoln_7 Посмотреть сообщение
Я просто где вычитывал,что нужно еще что то в Init событии прописывать,что все работало.
точнее не где то,а на каком то форуме тоже,но как решить проблему так и не понял

Последний раз редактировалось Stilet; 11.10.2014 в 23:18.
linkoln_7 вне форума Ответить с цитированием
Старый 11.10.2014, 23:21   #6
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,792
По умолчанию

Мне кажется тебе нужно что-то типа:
Код:
public partial class _Default : System.Web.UI.Page
    {
        static int i = 1;
        protected void Page_Load(object sender, EventArgs e)
        {
          for(int j=0;j<i;j++){
            Button bt = new Button();
            bt.Text = i.ToString();
           // bt.Click += new System.EventHandler(bt_Click);
            Panel1.Controls.Add(bt);
          }
        }
        protected void Button1_Click(object sender, EventArgs e)
        {
            Button bt = new Button();
            bt.Text = i.ToString();
           // bt.Click += new System.EventHandler(bt_Click);
            Panel1.Controls.Add(bt);
          i++;
        }
        protected void bt_Click(object sender, EventArgs e)
        {
          ...
        }
        
    }
}
I'm learning to live...
Stilet вне форума Ответить с цитированием
Старый 11.10.2014, 23:42   #7
linkoln_7
Форумчанин
 
Регистрация: 04.03.2013
Сообщений: 164
По умолчанию

А я смогу их также отрабатывать через sender?
linkoln_7 вне форума Ответить с цитированием
Старый 12.10.2014, 10:18   #8
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,792
По умолчанию

А че нет? Ты же назначь то событие. Оно же закоментено. А потом sender приводи к буттону.
I'm learning to live...
Stilet вне форума Ответить с цитированием
Старый 12.10.2014, 22:40   #9
linkoln_7
Форумчанин
 
Регистрация: 04.03.2013
Сообщений: 164
По умолчанию

Большое спасибо!

Последний раз редактировалось linkoln_7; 12.10.2014 в 22:47.
linkoln_7 вне форума Ответить с цитированием
Старый 12.10.2014, 23:20   #10
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,792
По умолчанию

Да незачто )
I'm learning to live...
Stilet вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
выделение жизненного цикла проектирования компьютерных систем Анастасия1994_15 Помощь студентам 0 14.05.2014 18:55
Нарушение профиля HellMercenariess О форуме и сайтах клуба 6 25.08.2012 11:43
алгоритмы нахождения эйлерова цикла и гамильтонова цикла в графе. Necare Помощь студентам 0 15.11.2011 18:26
Переход от цикла к циклу не выходя из цикла (без multithreading) Qousio Общие вопросы C/C++ 2 16.05.2009 09:27
Нарушение доступа Perception Помощь студентам 9 11.07.2008 14:44