Модераторы: gambit
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> динамическое добавление AsyncPostBackTrigger 
:(
    Опции темы
dickens
Дата 28.5.2007, 14:38 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 1
Регистрация: 28.5.2007

Репутация: нет
Всего: нет



в UpdatePanel динмически добавляю PostBackTrigger для некоторой кнопки.
Код

        protected void Page_Load(object sender, EventArgs e)
        {
        PostBackTrigger PostBackTrigger1 = new PostBackTrigger();
        PostBackTrigger1.ControlID = this.button2.ID;
        this.UpdatePanel1.Triggers.Add(PostBackTrigger1);
        }

проблема в следующем. когда я нажимаю на кнопку, для которой я добавил PostBackTrigger, все отлично, постбек происходит, но как только я нажимаю на кнопку для котороый нет PostBackTrigger, происходит асинхронный постбэк, и после чего PostBackTrigger слетает, все начинает работать на асинхронных постбеках. 

вот так выглядит содержимое UpdatePanel'и
Код

<asp:UpdatePanel ID="UpdatePanel1" runat="server" ChildrenAsTriggers="true" RenderMode="Block" UpdateMode="Always">
    <ContentTemplate>
        <asp:Button ID="button1" runat="server" OnClick="button1_Click" Text="show panel1"/>
        <asp:Button ID="button2" runat="server" OnClick="button2_Click" Text="show panel2" />
        <asp:Panel ID="Panel1" runat="server" Height="50px" Width="125px" Visible="true">
            <asp:Label ID="Label2" runat="server" Text="panel 1"></asp:Label>
        </asp:Panel>
        <asp:Panel ID="Panel2" runat="server" Height="50px" Width="125px" Visible="false">
            <asp:Label ID="Label1" runat="server" Text="panel 2"></asp:Label>
            <asp:Button ID="button3" runat="server" Text="button3" OnClick="button3_Click" />
            <asp:label ID="label3" runat="server"></asp:label>
        </asp:Panel>
    </ContentTemplate>
</asp:UpdatePanel>


вот обработчики событий на нажатие кнопок

Код

    protected void button1_Click(object sender, EventArgs e)
    {
        this.Panel1.Visible = true;
        this.Panel2.Visible = false;
        this.Label1.Text = "panel 1";
    }

    protected void button2_Click(object sender, EventArgs e)
    {
        this.Panel2.Visible = true;
        this.Panel1.Visible = false;
        this.Label2.Text = "panel 2";
        
    }

    protected void button3_Click(object sender, EventArgs e)
    {
        this.label3.Text = DateTime.Now.ToString();
    }



не подскажите как сделать что бы PostBackTrigger'ы не слетали?

заранее спасибо.

PM MAIL   Вверх
Gretchen
Дата 2.7.2007, 00:49 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 26
Регистрация: 25.8.2004
Где: München

Репутация: нет
Всего: 4



я только начинаю работать с asp.net и ajax, но помоему дело в UpdateMode="Always". Надо поменять на Conditional. Тогда UpdatePanel реагирует только на определённые триггеры.
PM MAIL ICQ   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Прежде чем создать тему, посмотрите сюда:
Любитель
Mymik
mr.DUDA

Используйте теги [code=csharp][/code] для подсветки кода. Используйтe чекбокс "транслит" если у Вас нет русских шрифтов.

Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Любитель, Mymik, mr.DUDA.

 
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Разработка под ASP.NET | Следующая тема »


 




[ Время генерации скрипта: 0.0742 ]   [ Использовано запросов: 21 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.