Announcement

Collapse
No announcement yet.

Verwendung des TimerControls Neu

Collapse
X
  • Filter
  • Time
  • Show
Clear All
new posts

  • Verwendung des TimerControls Neu

    Hallo!

    Ich habe in meiner website ein TabContainer-Control mit mehreren Tabpanels wo ich unterschiedliche Informationen jeweils in einem GridView (als Benutzercontrol ascx) darstelle. Jedes GridView ist von einem Updatepanel umgeben fürs Sortieren etc.

    Für das erste Tabpanel und dessen GridView verwende ich ein Timercontrol, dass laufend (1x pro Minute) Informationen aktualisiert, sprich das umgebende Updatepanel updated. Kann es sein dass, ein anderes Gridview, wo ich Informationen z.B. ändere, von der Timeraktualisierung beinflusst werden und u.u. nicht korrekt funktioniert?

    Wie kann ich den Timer clientseitig ein und ausschalten bzw. geht das überhaupt?

    Auszugaus der Default.aspx Datei:
    [highlight=xml]
    <table width="100%" border="0" cellspacing="0" cellpadding="0">
    <tr>
    <td>
    <asp:UpdatePanel ID="C_Tab_UpdatePanel"
    runat="server" UpdateMode="Conditional" ChildrenAsTriggers="false" >
    <ContentTemplate>
    <cc1:TabContainer ID="C_TabContainer1" runat="server"
    ActiveTabIndex="0" >
    <cc1:TabPanel ID="C_TabPanel1" runat="server"
    HeaderText="Artikel">
    <ContentTemplate>
    <uc1:UCartikel ID="C_UCartikel1" runat="server" />
    </ContentTemplate>
    </cc1:TabPanel>

    <cc1:TabPanel ID="C_TabPanel2" runat="server"
    HeaderText="Mitarbeiter">
    <ContentTemplate>
    <uc3:UCmitarbeiter ID="UCmitarbeiter1" runat="server"
    />
    </ContentTemplate>
    </cc1:TabPanel>

    <cc1:TabPanel ID="C_TabPanel3" runat="server"
    HeaderText="Richtlinien">
    <ContentTemplate>
    <uc5:UCrichtlinien ID="UCrichtlinien1" runat="server" />
    </ContentTemplate>
    </cc1:TabPanel>
    [/highlight]
    .................


    Inhalt der UCArtikel.ascx Datei:
    [highlight=xml]<asp:ScriptManagerProxy ID="C_ART_ScriptManagerProxy" runat="server">
    </asp:ScriptManagerProxy>

    <asp:Timer ID="C_Timer" Interval="60000" runat="server" />

    <asp:UpdatePanel ID="C_UP1" runat="server" UpdateMode="Conditional">
    <ContentTemplate>
    <table id="C_Sort_Table" style="width: 100%;" cellpadding="0" cellspacing="0" border="0">
    <tr>
    <td width ="3%"></td>
    <td width="24%">
    <asp:Button ID="C_Sort1_Button" runat="server" Text="Datum/Sort" Height="22px" Width="88px"
    CommandName="SortDatum" />
    </td>
    <td>
    <asp:Button ID="C_Sort2_Button" runat="server" Text="Überschrift/Sort" Height="22px" Width="105px"
    CommandName="SortText" />
    </td>
    <td align ="right" >
    <asp:Label ID="C_Counter_Label" runat="server" Text=""></asp:Label>
    </td>
    </tr>
    </table>
    </ContentTemplate>

    <Triggers>
    <asp:AsyncPostBackTrigger ControlID="C_Timer" EventName="Tick"/>
    </Triggers>
    </asp:UpdatePanel>

    <aspanel id="C_Artikel2_pan" runat="server" style="height: 380px; width: 100%; overflow:auto;">

    <asp:UpdatePanel ID="C_UP2" runat="server" UpdateMode="Conditional">
    <ContentTemplate>
    <asp:GridView ID="C_GV" runat="server" AllowSorting="True" GridLines="None"
    AutoGenerateColumns="False" HorizontalAlign="Left">
    <rowstyle backcolor="#FBFBFB" />
    <alternatingrowstyle backcolor="#F1F1F1" />
    <Columns>
    <asp:templatefield>
    <itemtemplate>
    <table id="C_Artikel_Table" style="width: 100%;" cellpadding="0" cellspacing="0" border="0">
    <tr>
    <td width ="3%" valign="top">
    <%--<asp:label runat="server" id="C_Info_Label" text="i" />--%>
    <img src="Image/arrow_yellow.gif" />
    </td>
    <td width ="97%">
    <asp:label id="EintragDatum"
    text= '<%# Eval("EintragDatum") %>'
    runat="server" Font-Bold="True" />&nbsp;&nbsp;
    <asp:label id="DE_Titel1"
    text= '<%# Eval("DE_Titel1") %>'
    runat="server" Font-Bold="True" />&nbsp;&nbsp;
    <asp:label id="DE_Titel2"
    text= '<%# Eval("DE_Titel2") %>'
    runat="server" class="TextInhaltUber2" />
    </td>
    </tr>
    <tr>
    <td width ="3%"></td>
    <td width ="97%">
    <asp:label id="DE_TextInhalt"
    text= '<%# Eval("DE_TextInhalt") %>'
    runat="server"/>
    </td>
    </tr>
    <tr>
    <td width ="3%"></td>
    <td width ="97%" class="TextInhaltUnter" >
    <span >von: </span>
    <asp:label id="von"
    text= '<%# Eval("von") %>'
    runat="server"/>&nbsp;&nbsp;&nbsp;
    <span>Dokument: </span>
    <asp:HyperLink ID="HyperLink1" runat="server" Target="_blank"
    NavigateUrl='<%# Eval("DokPfad") %>'
    text='<%# Eval("DokPfad") %>' />
    </td>
    </tr>
    <tr><td></td></tr><br />
    </table>

    </itemtemplate>
    </asp:templatefield>
    </Columns>
    </asp:GridView>

    </ContentTemplate>

    <Triggers>
    <asp:AsyncPostBackTrigger ControlID="C_Timer" EventName="Tick"/>
    <asp:AsyncPostBackTrigger ControlID="C_Sort1_Button" EventName="Click"/>
    <asp:AsyncPostBackTrigger ControlID="C_Sort2_Button" EventName="Click"/>
    </Triggers>

    </asp:UpdatePanel>
    </aspanel>[/highlight]


    Auszug aus der UCartikel.ascx.vb Datei:

    [highlight=vbnet]Protected Sub C_Timer_Tick(ByVal sender As Object, ByVal e As
    System.EventArgs) Handles C_Timer.Tick

    If Me.Session("sessSuche") Is Nothing OrElse Me.Session("sessSuche") <>
    "S" Then
    If Me.Session("sessEinDat") IsNot Nothing Then
    Dim d = _oBL.GetMaxData(Me.Session("sessEinDat"), 1)
    Dim c = _oBL.GetAnzArtikel(1)
    If d = True OrElse C_GV.Rows.Count <> c Then
    C_GV.DataSource = _oBL.GetArtikel(1)
    C_GV.DataBind()
    C_Counter_Label.Text = C_GV.Rows.Count.ToString() + _sArt
    End If
    Else
    C_GV.DataSource = _oBL.GetArtikel(1)
    C_GV.DataBind()
    C_Counter_Label.Text = C_GV.Rows.Count.ToString() + _sArt
    End If
    End If
    End Sub[/highlight]


    Für Lösungsansätze wäre ich sehr dankbar
    Chris
    Zuletzt editiert von Jürgen Thomas; 18.01.2010, 21:23. Reason: [highlight=vbnet/xml] eingefügt; das ist vor allem bei verschiedenen Code-Arten besser; außerdem immer einrücken!
Working...
X