1. مهمان گرامی، جهت ارسال پست، دانلود و سایر امکانات ویژه کاربران عضو، ثبت نام کنید.
    بستن اطلاعیه

آموزش Ajax/مثال عملی کار با کنترل تایمر Timer

شروع موضوع توسط Amon Amarth ‏24/4/13 در انجمن Ajax

  1. کاربر ارشد

    تاریخ عضویت:
    ‏7/6/12
    ارسال ها:
    12,082
    تشکر شده:
    28,151
    امتیاز دستاورد:
    113
    جنسیت:
    مرد
    [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