| 

.NET C# Java Javascript Exception

2
Hallo,

ich habe eine Form mit zwei UpdatePanels:

<asp:UpdatePanel ID="upStatus" runat="server" UpdateMode="Conditional">
<ContentTemplate>
<asp:Timer ID="importTimer" Interval="1200" OnTick="GetStatus" runat="server" Enabled="false" />
<asp:Label ID="lblStatus" runat="server" /><br />
</ContentTemplate>
</asp:UpdatePanel>

<asp:UpdatePanel ID="upLoaderImage" runat="server" UpdateMode="Conditional">
<ContentTemplate>
<asp:Image ID="imgAjaxLoader" ImageUrl="~/images/ajax-loader.gif" runat="server" />
</ContentTemplate>
</asp:UpdatePanel>


Der Timer wird mittels Postback eines Buttons aktiviert. Mit jedem Tick des Timers wird nun der Status im Label neu dargestellt. Allerdings wird in diesem Zuge auch das zweite UpdatePanel aktualisiert, und somit die Grafik neu geladen.

Wie bekommt man es hin, dass nur das UpdatePanel des Timers neu geladen wird und das zweite UpdatePanel mit der Grafik nur bei Bedarf per CodeBehind-Funktion aktualisiert wird?

Das Konstrukt arbeitet mit Masterseiten.

Danke für die Hilfe.
SensenMannLE
01.03.2011
SensenMannLE 1,2k 2 9
2 Antworten
2
Ich habe das gerade mal ausprobiert. Dazu habe ich Deinen Code erweitert:
<asp:Button ID="Button1" runat="server" Text="Button" onclick="Button1_Click" />
<asp:UpdatePanel ID="upStatus" runat="server" UpdateMode="Conditional">
<ContentTemplate>
<asp:Timer ID="importTimer" Interval="1200" OnTick="GetStatus" runat="server" Enabled="false" />
<asp:Label ID="lblStatus" runat="server" /><br />
</ContentTemplate>
</asp:UpdatePanel>
<asp:UpdatePanel ID="upLoaderImage" runat="server" UpdateMode="Conditional">
<ContentTemplate>12345
<asp:Image ID="imgAjaxLoader" ImageUrl="~/images/button_kind_Save.gif" runat="server" />
67890
</ContentTemplate>
</asp:UpdatePanel>

Im Button-Click-Event setze ich den Enabled-Status auf true. In GetStatus schreibe ich DateTime.Now.ToString(). Wenn ich nun im Browser den Text 12345 markiere, bleibt die Markierung erhalten und die Uhr "tickt" weiter. Somit wird nur das obere UpdatePanel refreshed. Passt also soweit.
Ist eventuell noch ein umschließendes UpdatePanel vorhanden?
Bsp:
UpdatePanel1
UpdatePanel(Timer)
UpdatePanel(Image)
/UpdatePanel1
01.03.2011
1
Danke für den Test. Aufgrund der Tatsache dass es scheinbar nur bei mir nicht funktioniert habe ich die Seite mal vereinfacht und in verschiedenen Browsern ausgeführt. Resultat: im IE funktionierts im Opera nicht.

Es scheint sich hierbei also um ein browserspezifisches Problem zu handeln. Da kann man dann wohl recht wenig gegen machen.

Ich danke nochmals für die Mühe.
01.03.2011
SensenMannLE 1,2k 2 9
Hatte tatsächlich den IE 8 genommen.
Tomislav Karafilov 01.03.2011

Stelle deine .net-Frage jetzt!
TOP TECHNOLOGIES CONSULTING GmbH