ASP timer Control is refreshing the whole page? - asp.net

I have a ASP timer control which is supposed to run every three minutes. Although I kept the Timer control in an update panel, it is refreshing the whole page every time it runs.
Is there any it only refresh the particular section of the page, not the whole page?
<div>
<asp:UpdatePanel ID="UpdatePanel4" runat="server">
<ContentTemplate>
<asp:Timer ID="Timer1" runat="server" ontick="Timer1_Tick" Interval="300000" >
</asp:Timer>
</ContentTemplate>
</asp:UpdatePanel>
</div>

<asp:Timer runat="server" id="UpdateTimer" interval="200" ontick="function" />
<asp:UpdatePanel runat="server" id="TimedPanel" updatemode="Conditional">
<Triggers>
<asp:AsyncPostBackTrigger controlid="UpdateTimer" eventname="Tick" />
</Triggers>
<ContentTemplate>
<asp:Label runat="server" id="label1" />
<asp:TextBox ID="textbox1" runat="server"></asp:TextBox>
</ContentTemplate>
</asp:UpdatePanel>

<asp:UpdatePanel ID="UpdatePanel4" runat="server">
<Triggers>
<asp:AsyncPostBackTrigger ControlID="Timer1" EventName="Tick" />
</Triggers>
<ContentTemplate>
<asp:Timer ID="Timer1" runat="server" ontick="Timer1_Tick" Interval="300000">
</asp:Timer>
</ContentTemplate>
</asp:UpdatePanel>

you need to use UpdatePanel Triggers. Conditional Update Panels with triggers, and msdn source. Updatepanel with Triggers
<asp:UpdatePanel ID="UpdatePanel4" runat="server">
<ContentTemplate>
<Triggers>
<asp:AsyncPostBackTrigger ControlID="Timer1" EventName="Tick" />
</Triggers>
<asp:Timer ID="Timer1" runat="server" ontick="Timer1_Tick" Interval="300000"> </asp:Timer>
</ContentTemplate>
</asp:UpdatePanel>

Use update panel and add all the control's inside update panel which you don't want to be refreshed or postback by any event

Related

how to refresh updatePanel with asp.net Timer control only once ?

<asp:ScriptManager ID="ScriptManager1" runat="server"></asp:ScriptManager>
<asp:Timer ID="Timer1" runat="server" Interval="100" OnTick="Timer1_Tick"></asp:Timer>
<asp:UpdatePanel ID="UpdatePanel1" runat="server" UpdateMode="Conditional">
<Triggers>
<asp:AsyncPostBackTrigger ControlID="Timer1" EventName="Tick" />
</Triggers>
<ContentTemplate>
// my code is here
</ContentTemplate>
</asp:UpdatePane>
above code refresh update panel in the period time.

Why does a masterpage's UpdatePanel trigger event also trigger an UpdatePanel in a content page?

I have the following updatepanel in the masterpage:
<asp:UpdatePanel runat="server" id="pnlHeartBeat" UpdateMode="Conditional">
<Triggers>
<asp:AsyncPostBackTrigger ControlID="HeartBeat" EventName="Tick" />
</Triggers>
<ContentTemplate>
<asp:Timer runat="server" id="HeartBeat" Interval="180000" OnTick="Heartbeat_OnTick"></asp:Timer>
</ContentTemplate>
</asp:UpdatePanel>
This runs fine no matter where I am in the site... right up to the point I navigate to a content page with another updatepanel, after which whenever the masterpage's updatepanel is triggered, so will the content page's updatepanel.
Here's a content page updatepanel:
<asp:UpdatePanel ID="ajaxColumnGroups" runat="server" ChildrenAsTriggers="true" UpdateMode="Conditional">
<Triggers>
<asp:AsyncPostBackTrigger ControlID="cboxAllorNone" EventName="CheckedChanged" />
</Triggers>
<contenttemplate>
<dx:ASPxCheckBox ID="cboxAllorNone" runat="server" text="Select/Deselect All" OnCheckedChanged="cboxAllorNone_CheckChanged" autopostback="true"></dx:ASPxCheckBox>
<dx:ASPxPageControl runat="server" id="tabColumnGroups" ActiveTabIndex="0"></dx:ASPxPageControl>
</contenttemplate>
</asp:UpdatePanel>
How can I stop this behavior?
Thanks

AJAX CalendarExtender refresh update panel

I've added a CalendarExtender to reset the dates of a datasource for a grid view.
Code -
<asp:UpdatePanel ID="UPTabs" runat="server" UpdateMode="Conditional">
<Triggers>
<asp:AsyncPostBackTrigger controlid="tbMoveInDate" eventname="TextChanged" />
</Triggers>
<ContentTemplate>
<asp:TextBox ID="tbMoveInDate" Width="70px" AutoPostBack="true" runat="server"/>
<asp:CalendarExtender ID="tbMoveInDateCalendarExtender" runat="server" Format="MM/yyyy"
TargetControlID="tbMoveInDate" OnClientHidden="onCalendarHidden" OnClientShown="onCalendarShown" />
<asp:GridView ID="gvMoveins" runat="server" .../>
</ContentTemplate>
</asp:UpdatePanel>
with the intention of forcing the update panel to update when the date is changed.
What am I missing?
Need to use
<asp:PostBackTrigger />
to get the effect I needed.

large value of AsyncPostBackTimeout causes Sys.WebForms.PageRequestManagerTimeoutException

I use UpdatePanel with large async timeout value:
<asp:ScriptManager ID="ScriptManager1" runat="server" AsyncPostBackTimeout="3600000" />
<asp:UpdatePanel UpdateMode="Conditional" RenderMode="Block" runat="server" ID="UpdatePanel1">
<ContentTemplate>
</ContentTemplate>
<Triggers>
<asp:AsyncPostBackTrigger ControlID="RunButton" />
</Triggers>
</asp:UpdatePanel>
It throws 'Sys.WebForms.PageRequestManagerTimeoutException.' instantly.
Setting it to smaller value ie. 1200000 fixes it but why?

gridview that is updated frequently

I have a ASP.NET gridview that shows some entries from the database. The entries need to be updated very frequently (if a modification occurs on the database, it should be reflected in the asp.net website within at most 3seconds).
The solution I am thinking about is to put the gridview inside an update panel and refresh the page every 3 seconds. Is there a better alternative?
By using Timer in the update panel u can perform that update operation.For example ..
<form id="form1" runat="server">
<asp:ScriptManager ID="ScriptManager1" runat="server" />
<div>
<asp:Timer ID="Timer1" OnTick="Timer1_Tick" runat="server" Interval="10000">
</asp:Timer>
</div>
<asp:UpdatePanel ID="UpdatePanel1" UpdateMode="Conditional" runat="server">
<Triggers>
<asp:AsyncPostBackTrigger ControlID="Timer1" EventName="Tick" />
</Triggers>
<ContentTemplate>
<asp:Label ID="Label1" runat="server" Text="UpdatePanel1 not refreshed yet."></asp:Label>
</ContentTemplate>
</asp:UpdatePanel>
<asp:UpdatePanel ID="UpdatePanel2" UpdateMode="Conditional" runat="server">
<Triggers>
<asp:AsyncPostBackTrigger ControlID="Timer1" EventName="Tick" />
</Triggers>
<ContentTemplate>
<asp:Label ID="Label2" runat="server" Text="UpdatePanel2 not refreshed yet."></asp:Label>
</ContentTemplate>
</asp:UpdatePanel>
</form>
instead of label control u can use gridview.

Resources