в 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'ы не слетали?
заранее спасибо.
|