Postback oder nicht Postback

02/02/2010 - 00:45 von Tamara Mikes | Report spam
Salü alle zusammen

Auf einer umfangreichen Seite habe ich ein UserControl. Darin habe ich vier
Calendar Steuerelemente, welches jedes einzelne in einem AJAX UpdatePanel
steckt.

Wenn ich auf diesen vier Calendar das Datum wechseln will, dann macht er mir
nach dem zweiten Datum das ich anklicke ein Postback. Dies obwohl der
Calendar in einem
UpdatePanel steckt.


Ich habe eine neue Seite gemacht und als einziges Element mein UserControl
drauf gepackt. Hier arbeitet das Teil so, wie ich es mir vorstelle. Egal wie
oft ich das Datum wechsle, es wird immer nur das UpdatePanel aktualisiert.

Liebe Leser dieser Gruppe, ich weiss, dass dies eine extrem schwierige Frage
ist und dass es die Hilfe duzender Kristallkugeln benötigte. Aber ich möchte
dennoch fragen, in welche Richtung ich suchen könnte um das Problem
einzugrenzen. Was könnte zu einem solchen Verhalten führen, dass trotz
Verwendung von Update-Panel ein Postback ausgelöst wird?

Wenn mein Kalender UserControl auf einer Testseite liegt, und diese
Testseite nie einen Postback auslöst, gehe ich dann richtig von der Annahme
aus, dass mein Problem nicht im Kalender UserControl liegen kann? Oder kann
es dennoch Interaktionen geben auf welche ich achten müsste?

Vielen lieben Dank für Eure Bemühungen.

Gruss Tamara



PS: Habe soeben ein Control mit Name CheckData gemacht, welches ein
Updatepanel beinhaltet, eine OptionList welche je nach angeklicktem Button
ein GridView veràndert. Packe ich mein Control CheckData auf eine leere
Seite, dann funktioniert das wunderbar ohne Postback.
Wenn ich mein Control CheckData jedoch auf eine bestehende Seite mit vielen
anderen Controls und Benutzercontrols packe, dann macht er nachde ich auf
zwei unterschiedliche RadioButtons geklickt habe ein Postback warum?



Code:
Der Einbau des Usercontrol in eine sehr umfangreiche Seite:


<asp:Panel ID="ContentPanelDatum" runat="server">
<p>Datum auswàhlen ist hier.</p>
<uc1:DatumWaehlerSelect ID="DatumWaehlerSelect1" runat="server"
/>
<p></p>
</asp:Panel>



Code
Die vier Kalender-Elemente:



<%@ Control Language="C#" AutoEventWireup="true"
CodeBehind="DatumWahlerSpezial.ascx.cs"
Inherits="ImportKonfigurator.DatumWahlerSpezial" %>
<asp:Panel ID="PanelDatumSpezial" runat="server" Visible="true" >
<p>Individuelles Datum festlegen</p>
<table>
<tr>
<td>&nbsp;</td>
<td style="text-align: center">Beginn</td>
<td style="text-align: center">Ende</td>
</tr>
<tr>
<td>&nbsp; Datum für Periode </td>
<td valign="top">
<asp:UpdatePanel ID="UpdatePanelPeriodeBeginn"
runat="server">
<ContentTemplate>
<asp:Calendar ID="CalendarPeriodeBeginn"
runat="server" OnSelectionChanged="CalendarPeriodeBeginn_SelectionChanged"
BackColor="#FFFFCC" BorderColor="#FFCC66" BorderWidth="1px"
DayNameFormat="Shortest" Font-Names="Verdana" Font-Size="8pt"
ForeColor="#663399" Height="200px" ShowGridLines="True" Width="220px">
<SelectedDayStyle BackColor="#CCCCFF"
Font-Bold="True" />
<SelectorStyle BackColor="#FFCC66" />
<TodayDayStyle BackColor="#FFCC66"
ForeColor="White" />
<OtherMonthDayStyle ForeColor="#CC9966" />
<NextPrevStyle Font-Size="9pt"
ForeColor="#FFFFCC" />
<DayHeaderStyle BackColor="#FFCC66"
Font-Bold="True" Height="1px" />
<TitleStyle BackColor="#990000" Font-Bold="True"
Font-Size="9pt" ForeColor="#FFFFCC" />
</asp:Calendar>
</ContentTemplate>
</asp:UpdatePanel>
</td>
<td valign="top">
<asp:UpdatePanel ID="UpdatePanelPeriodeEnde" runat="server">
<ContentTemplate>
<asp:Calendar ID="CalendarPeriodeEnde"
runat="server" OnSelectionChanged="CalendarPeriodeEnde_SelectionChanged"
BackColor="#FFFFCC" BorderColor="#FFCC66" BorderWidth="1px"
DayNameFormat="Shortest" Font-Names="Verdana" Font-Size="8pt"
ForeColor="#663399" Height="200px" ShowGridLines="True" Width="220px">
<SelectedDayStyle BackColor="#CCCCFF"
Font-Bold="True" />
<SelectorStyle BackColor="#FFCC66" />
<TodayDayStyle BackColor="#FFCC66"
ForeColor="White" />
<OtherMonthDayStyle ForeColor="#CC9966" />
<NextPrevStyle Font-Size="9pt"
ForeColor="#FFFFCC" />
<DayHeaderStyle BackColor="#FFCC66"
Font-Bold="True" Height="1px" />
<TitleStyle BackColor="#990000" Font-Bold="True"
Font-Size="9pt" ForeColor="#FFFFCC" />
</asp:Calendar>
</ContentTemplate>
</asp:UpdatePanel>
</td>
</tr>
<tr>
<td>&nbsp;</td>
<td valign="top">

<asp:TextBox ID="tbPeriodeBeginn" runat="server"
Text="Label" ontextchanged="tbPeriodeBeginn_TextChanged"
Width="215px"></asp:TextBox>
</td>
<td valign="top">
<asp:TextBox ID="tbPeriodeEnde" runat="server" Text="Label"
Width="215px" ontextchanged="tbPeriodeEnde_TextChanged"></asp:TextBox>
</td>
</tr>
<tr>
<td>&nbsp;</td>
<td valign="top">&nbsp;</td>
<td valign="top">&nbsp;</td>
</tr>
<tr>
<td>&nbsp; Stichtag </td>
<td valign="top">
<asp:UpdatePanel ID="UpdatePanelStichtagBeginn"
runat="server">
<ContentTemplate>
<asp:Calendar ID="CalendarStichtagBeginn"
runat="server" OnSelectionChanged="CalendarStichtagBeginn_SelectionChanged"
BackColor="#FFFFCC" BorderColor="#FFCC66" BorderWidth="1px"
DayNameFormat="Shortest" Font-Names="Verdana" Font-Size="8pt"
ForeColor="#663399" Height="200px" ShowGridLines="True" Width="220px">
<SelectedDayStyle BackColor="#CCCCFF"
Font-Bold="True" />
<SelectorStyle BackColor="#FFCC66" />
<TodayDayStyle BackColor="#FFCC66"
ForeColor="White" />
<OtherMonthDayStyle ForeColor="#CC9966" />
<NextPrevStyle Font-Size="9pt"
ForeColor="#FFFFCC" />
<DayHeaderStyle BackColor="#FFCC66"
Font-Bold="True" Height="1px" />
<TitleStyle BackColor="#990000" Font-Bold="True"
Font-Size="9pt" ForeColor="#FFFFCC" />
</asp:Calendar>
</ContentTemplate>
</asp:UpdatePanel>
</td>
<td valign="top">
<asp:UpdatePanel ID="UpdatePanelStichtagEnde"
runat="server">
<ContentTemplate>
<asp:Calendar ID="CalendarStichtagEnde"
runat="server" OnSelectionChanged="CalendarStichtagEnde_SelectionChanged"
BackColor="#FFFFCC" BorderColor="#FFCC66" BorderWidth="1px"
DayNameFormat="Shortest" Font-Names="Verdana" Font-Size="8pt"
ForeColor="#663399" Height="200px" ShowGridLines="True" Width="220px">
<SelectedDayStyle BackColor="#CCCCFF"
Font-Bold="True" />
<SelectorStyle BackColor="#FFCC66" />
<TodayDayStyle BackColor="#FFCC66"
ForeColor="White" />
<OtherMonthDayStyle ForeColor="#CC9966" />
<NextPrevStyle Font-Size="9pt"
ForeColor="#FFFFCC" />
<DayHeaderStyle BackColor="#FFCC66"
Font-Bold="True" Height="1px" />
<TitleStyle BackColor="#990000" Font-Bold="True"
Font-Size="9pt" ForeColor="#FFFFCC" />
</asp:Calendar>
</ContentTemplate>
</asp:UpdatePanel>
</td>
</tr>
<tr>
<td></td>
<td>
<asp:TextBox ID="tbStichtagBeginn" runat="server"
Text="Label" ontextchanged="tbStichtagEnde_TextChanged"
Width="215px"></asp:TextBox>
</td>
<td>
<asp:TextBox ID="tbStichtagEnde" runat="server" Text="Label"
Width="215px" ontextchanged="tbStichtagEnde_TextChanged1"></asp:TextBox>
</td>
</tr>
<tr>
<td>&nbsp;</td>
<td valign="top" colspan="2">
<asp:CheckBox ID="CheckBoxStichtag1Tag" runat="server"
Text="Der Stichtag ist genau 1 Tag lang" />
<br />
Hinweis: Datum im Textfeld übersteuert das Datum im
Kalender.</td>
</tr>
<tr>
<td>&nbsp;</td>
<td colspan="2" valign="top">
<asp:Label ID="lblStatus" runat="server"
Text="Label"></asp:Label>
</td>
</tr>
</table>
<asp:Button ID="btnDatumSpeichern" runat="server" Text="Datum speichern"
OnClick="btnDatumSpeichern_Click" />
<asp:Button ID="btnRefresh" runat="server" Text="Kalender aktualisieren"
/>
<br />
</asp:Panel>
 

Lesen sie die antworten

#1 Tamara Mikes
15/02/2010 - 09:24 | Warnen spam
Salü alle zusammen

Habe mein Problem gelöst. Es war ein offenes Tag das nicht geschlossen
wurde...

Viele Grüsse
Tamara

Ähnliche fragen