Форум программистов, компьютерный форум, киберфорум
Наши страницы
C#: Web, ASP.NET
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.75/4: Рейтинг темы: голосов - 4, средняя оценка - 4.75
Anatolyevich
6 / 5 / 1
Регистрация: 06.02.2011
Сообщений: 35
1

Изменение в WebControl происходит только после 2го Postback

13.02.2012, 12:22. Просмотров 674. Ответов 2
Метки нет (Все метки)

На страницу динамически добавил 9 webControl'ов.
C#
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
protected void Page_Load(object sender, EventArgs e)
    {
for (int i = 1; i < 10; i++)
            {
                LoadDelPicture au = (LoadDelPicture)LoadControl("~/UserControls/LoadDelPicture.ascx");
                
                if (item.PictureMini == Path.GetFileName(au.PictureAddressShow))
                {
                    au.IsMain = true;
                }
                else
                    au.IsMain = false;
                DivPicturesUpload.Controls.Add(au);
            }
}
Внутри данного контрола на page_load прописано следующее:

C#
1
2
3
4
5
6
7
8
9
10
11
12
13
14
protected void Page_Load(object sender, EventArgs e)
    {
        if (isMain == true)
        {
            this.LinkButtonIsMain.Enabled = false;
            this.LinkButtonIsMain.Text = "Main";
 
        }
        else
        {
            this.LinkButtonIsMain.Enabled = true;
            this.LinkButtonIsMain.Text = "Set as Main";
        }
}
Код обработки нажатия LinkButtonIsMain:
C#
1
2
3
4
5
6
7
if (PictureWorks.SetMainPictureIsOK(mapedPath, addNumber, number, userName.ToLower(), Path.GetFileName(pictureAddressShow)))
        {
            //всё ОК. Запись сохранена, картинка прописана!.
            this.LinkButtonIsMain.Text = "Main";
            this.LinkButtonIsMain.Enabled = false;
 
        }
Как результат имеем следующую реакцию на нажатие LinkButtonIsMain:

1)при первом открытии страницы - есть элемент, который "главный". В нем LinkButtonIsMain деактивирован и Text прописан со значением "Main".
2) нажимаем на LinkButtonIsMain в элементе №2
3) postback
4) видим и первый, и второй элемент с деактивированой LinkButtonIsMain и текстом "Main" у обоих.
5) жмем на LinkButtonIsMain элемента №3
6) postback
7) видим, что у элемента №1 LinkButtonIsMain снова активен и прописан как "Set as Main", а №2 и №3 имеют деактивированые LinkButtonIsMain, которые прописаны как "Main"

Невольно возникает вопрос: Где я допустил ошибку в коде?
0
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
13.02.2012, 12:22
Ответы с готовыми решениями:

Masterpage, динамические контролы, пропадание после PostBack`a
Есть контрол, который в pageHeaderPlaceholder, после PostBack он пропадает, что с етим делать?...

Сохранение представления динамических CheckBox после PostBack
Добрый день! У меня имеется динамическая таблица получаемая из БД, которая также динамически...

график строится только после 2го и последующих нажатиях на кнопку
При нажатии на кнопку открывается новая форма на которой выходит график окружности. При первом...

Изменение формата ячеек происходит только на первой итерации цикла
Вообще начал только делать некий аналог Домашней Бухгалтерии. Пользователю предлагается ввести...

Как сохранить позицию скроллинга странице после PostBack
Нашел здесь статейку с одноименным названием: http://relib.com/articles/article.asp?id=217 ...

2
andrii
183 / 183 / 53
Регистрация: 10.04.2009
Сообщений: 491
13.02.2012, 13:08 2
не разобрался в чем суть вопроса, предполагаю, что в динамическом создании при каждой загрузке, попробуйте создавать их в oninit, тогда они смогут сохранять свои состояния через viewstate
0
Anatolyevich
6 / 5 / 1
Регистрация: 06.02.2011
Сообщений: 35
14.02.2012, 05:28  [ТС] 3
Поставил добавление контролов на Page_OnInt. Теперь контролы не добавляются на страницу вообще.
Вернул всё как было на момент написания 1 поста.

Еще есть мысли?
0
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
14.02.2012, 05:28

Составить программу, в которой периодически от пользователя принимается какое-нибудь число и остановка происходит только после данного условия
Составить программу, в которой периодически от пользователя принимается какое-нибудь число и...

Составить программу, в которой периодически от пользователя принимается какое-нибудь число и остановка происходит только после данного условия
Составить программу, в которой периодически от пользователя принимается какое-нибудь число и...

После переустановки системы компьютер перестал видеть разделы 2го винчестера


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
3
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2019, vBulletin Solutions, Inc.
Рейтинг@Mail.ru