آموزش نمایش زمان آنلاین و ثابت در صفحات Asp.net
آموزش نمایش زمان آنلاین و ثابت در صفحات Asp.net
در این پست قصد داریم تا دو روش از پیاده سازی تاریخ و زمان در Asp.Net را مورد بررسی و آموزش قرار دهیم.
ابتدا نیاز است تا یک پروژه خالی ایجاد و داخل آن یک صفحه وب فرم ایجاد نماییم.
من یک صفحه با نام Time ایجاد کردم و به پروژه یک فایل جاوا اسکریپت جی کوئری اضافه نمودم.
روش اول :
روشی که بیشتر برای ثبت زمان و تاریخ ثبت مطالب چون محصولات یا اخبار و.... می باشد یا زمان بازدید هرکاربر از یک صفحه یا ارسال پیام و .....
این روش بیشتر زمانی استفاده می شود که میخواهیم زمان و تاریخ در پایگاه ذخیره گردد و به طور ثابت نمایش داده شود در مطالب.
برای این منظور ما در صفحه Asp یه label ایجاد و مقدار آن را خالی قرار میدهیم و مقدا دهی که همان زمان و تاریخ است را از طریق صفحه کلاینت سرور انجام میدهیم.
<h3 style="color:#8e9f5c;"> <asp:Label Text="" ID="lblTime" runat="server" style="color: #fff; " /> </h3>
در قسمت لود صفحه لیبلی را که اضافه کرده بودیم را به صورت زیر مقدار دهی میکنیم.
protected void Page_Load(object sender, EventArgs e) { lblTime.Text = DateTime.Now.ToString(); }
وقتی صفحه را اجرا کنیم میبینیم که زمان و تاریخ به صورت لحظه ای که صفحه اجرا شده به ما نمایش میدهد.
به این صورت می توانید برای ثبت مطالب و اخبار و ... زمان و تاریخ را در جدول پایگاه ذخیره کنید.
روش دوم:
در این روش که کاربردش بیشتر برای نمایش زمان و تاریخ به صورت لحظه ای و همزمان با ساعت سرور می باشد. در اصل این روش یک نوع ساعت آنلاین است که با استفاده از جاوا اسکریپت و یک هندلر زمان و تاریخ لحظه ای از سرور خوانده شده و روی سایت ما نمایش داده میشود.
ابتدا داخل صفحه Asp یک label ایجاد و آی دی مشخصی به آن میدهیم
<h3 style="color:#de7047;"> <asp:Label Text="" ID="lbldatetime" runat="server" style=" color: #fff;" /> </h3>
حال در قسمت هد فایل جی کوئری را اضافه و دستور زیر را در یک اسکریپت داخل همان هد اضافه میکنیم.
<script src="/jquery-1.10.2.min.js"></script> <script> var auto_refresh = setInterval ( function () { $.post( "GetDateTime.ashx", function (result) { $('#lbldatetime').html(result); } ); }, 1000 ); </script>
روش کار این قسمت به سبکی است که به جای اینکه از طریق صفحه کلاینت ما مقدار را پاس بدهد میرود و صفحه هندلر را فراخوانی میکند و هندلر وظیفه دارد تا در هر ثانیه با سرور در اتباط باشد و مقدا زمان آن را ارسال کند به کد جاوا ما و آن هم مقدار را به لیبل پاس میدهد و در سایت به نمایش در می آید
سپس یک صفحه هندلر با نام GetDateTime.ashx ایجاد میکنیم.
حالا کدها رو وارد میکنیم.
public void ProcessRequest(HttpContext context) { context.Response.ContentType = "text/plain"; context.Response.Write(DateTime.Now.ToString()); } public bool IsReusable { get { return false; } }
خب مقادیر بالا را داخل صفحه هندلر اضافه میکنیم.
کاری که انجام میدهد زمان و تاریخ حال را مدام از سرور میگیرد.
حال شما یک ساعت انلاین روی سایت خودتون دارید که میتواندی در جاهای مختلف از آن استفاده کنید.
تصویر دو روش:
روش اول که ثابت است
روش دوم که ساعت آنلاین است ولی خب توی تصویر مشخص نمی باشد باید آنلاین اجرا شود.
نظر / سوال