[h=2][/h] مثال عملی کار با کنترل تایمر Timer مثال عملی کار با کنترل تایمر Timer و UpdatePannel ، ScriptManager : در این بخش قصد داریم تا با ارائه یک مثال عملی و تشریح کد آن ، نحوه استفاده از کنترل تایمر Timer در ASP.Net و UpdatePannel ،ScriptManager را به شما آموزش دهیم . کد مثال زیر را مرور نمایید . هر بخش از کد که نیاز به توضیح داشته ، را با یک رنگ مجزا مشخص کرده و سپس آن را در پایان مثال توضیح داده ایم :: [TABLE="class: ex"] [TR] [TD="class: prname, align: center"] کد [/TD] [TD="class: prdes, align: center"] <%@ Page Language="C#" AutoEventWireup="true" %> <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"> <head id="Head1" runat="server"> <title> Timer مثال عملی کار با کنترل تایمر</title> <script runat="server"> protected void Page_Load(object sender, EventArgs e) { OriginalTime.Text = DateTime.Now.ToLongTimeString(); // این تابع زمان ایجاد شدن اولیه صفحه را در کنترل مربوطه قرار می دهد StockPrice.Text = "50"; // تعیین مقادیر اولیه قیمت و ساعت TimeOfPrice.Text = "00:00:00"; } protected void Timer1_Tick(object sender, EventArgs e) { StockPrice.Text = GetStockPrice( ); // این خط کد یک قیمت جدید را از تابع مربوط به آن درخواست می کند TimeOfPrice.Text = DateTime.Now.ToLongTimeString( ); // این خط کد نیز ،قیمت جدید ارسالی را در کنترل مربوط به آن آپدیت می کند } private string GetStockPrice() { double randomStockPrice = 50 + new Random().NextDouble( ); // این خط کد یک قیمت شانسی تولید می کند return randomStockPrice.ToString("C"); // این خط کد ، قیمت جدید ایجاد شده را به تابع درخواست کننده ، برمی گرداند } </script> </head> <body style ="text-align : right ; direction : rtl"> <form id="form1" runat="server"> <asp:ScriptManager ID="ScriptManager1" runat="server" /> <%-- وجود یک نمونه از این کنترل برای اجرای کد ایجکس ضروری است --%> <asp:Timer ID="Timer1" OnTick="Timer1_Tick" runat="server" Interval="10000" /> <%-- کد کنترل تایمر--%> <asp:UpdatePanel ID="StockPricePanel" runat="server" UpdateMode="Conditional"> <Triggers> <asp:AsyncPostBackTrigger ControlID="Timer1" /> </Triggers> <ContentTemplate> قیمت برابر است با : <asp:Label id="StockPrice" runat="server"></asp:Label><BR /> در زمان :<asp:Label id="TimeOfPrice" runat="server"></asp:Label> </ContentTemplate> </asp:UpdatePanel> <div> صفحه در این زمان ساخته شده است : <asp:Label ID="OriginalTime" runat="server"></asp:Label> </div> </form> </body> </html> [/TD] [/TR] [TR] [TD="class: prname, align: center"] خروجی [/TD] [TD="class: prdes, align: center"] مشاده خروجی مثال [/TD] [/TR] [/TABLE] [*=center]کنترل trigger یا رفرش کننده کنترل UpdatePannel را تعیین می کند ، که در این مثال Timer1 بوده و هر 10 ثانیه آن را رفرش می کند . [*=center]محتویات درونی کنترل UpdatePannel را تعیین می کند ، که هر 10 ثانیه یک بار رفرش شده و قیمت جدید را نمایش می دهند . [*=center]خط اول این بخش کد یک کنترل ScriptManager را تعیین می کند . برای عملکرد صحیح کنترل های Timer و UpdatePannel وجود یک کنترل ScriptManager بر روی صفحه اجباری است . خط دوم نیز کد کنترل Timer است که هر 10 ثانیه یکبار trigger شده و تابع Timer1_Tick خود را فراخوانی و اجرا می کند . منبع: developer1