آموزش Ajax

سیده آمین ارمان

کاربر نگاه دانلود
کاربر نگاه دانلود
عضویت
2016/05/10
ارسالی ها
1,730
امتیاز واکنش
20,744
امتیاز
795
محل سکونت
البرز
دریافت پاسخ XMLHttpRequest از سرور
در این قسمت از آموزش Ajax به توضیح دریافت پاسخ XMLHttpRequest از سرور در مقالات طراحی سایت می پردازیم . پس از اینکه یک شی XMLHttpRequest را ساخته و به وسیله آن درخواست خود را به سرور ارسال نمودید ، سرور دستورات برنامه Ajax تعیین شده را پردازش کرده و یک خروجی را به عنوان پاسخ درخواست ، به کاربر ارسال می کند .
مرورگر در کامپیوتر کاربر این پاسخ را دریافت کرده و تغییرات لازم را در صفحه و بخش مربوطه انجام خواهد داد .
به وسیله قابلیت Respone در ایجکس ، می توانید کدی طراحی نمایید تا مرورگر پاسخ سرور را دریافت کند . برای این منظور از 2 خاصیت شی XMLHttpRequest به شرح زیر استفاده می شود :

√ خاصیت responseText : از این خاصیت در زمانی استفاده می شود که پاسخ سرور به صورت یک متن خالی از نوع داده ای string است .
برای مثال فرض کنید که محتوای یک عنصر پاراگراف باید با متن جدید جایگزین شود . در این حالت چون جواب سرور از نوع متن است ، از خاصیت responseText استفاده می شود .

√ خاصیت responseXML : این خاصیت در زمانی استفاده می شود که پاسخ سرور به صورت یک فایل XML بوده و یا قالب بندی داده ای شده باشد .

در ادامه به تشریح کاربرد این خاصیت ها و مثال استفاده از آنها پرداخته ایم . از خاصیت responseText شی XMLHttpRequest ، برای دریافت پاسخ استفاده می شود . سپس شما می توانید این خاصیت را به صورت مستقیم در کد خود به کار ببرید .
مثال : در مثال زیر ابتدا یک شی XMLHttpRequest به نام xmlhttp ساخته شده است . سپس درخواستی به سرور برای باز کردن فایل ajax_ex1.txt و استخراج متن درون آن فرستاده شده است . سپس جواب خروجی از سرور به وسیله خاصیت responseText دریافت شده و با متن موجود در تگ < div id ="ex_1" > جایگزین شده است .

< html >
< head >
< script type="text/javascript">
function loadXMLDoc()
{
var xmlhttp;
if (window.XMLHttpRequest)
{
// code for IE7+, Firefox, Chrome, Opera, Safari
xmlhttp = new XMLHttpRequest( ) }
else
{
// code for IE6, IE5
xmlhttp = new ActiveXObject("Microsoft.XMLHTTP") ;
}
xmlhttp.onreadystatechange = function ( )
{
if ( xmlhttp.readyState == 4 && xmlhttp.status == 200 )
{
document.getElementById(" ex_1 ").innerHTML = xmlhttp.responseText;
}
}
xmlhttp.open("GET", "ajax_ex1.txt", true);
xmlhttp.send();
}
</script>
< /head >
< body >
< div id = " ex_1 " > برای تغییر متن به وسیله ajax بر روی دکمه زیر کلیک نمایید < /div >
< button type="button" onclick="loadXMLDoc( )"> تغییر متن < /button >
< /body >
< /html >

پس از ایکنه با دریافت یک پاسخ ساده متنی از سرور آشنا شدید ، حال بایستی یک پاسخ قالب بندی شده به زبان XML را از سرور دریافت کنیم . برای این منظور از خاصیت responsXML شی XMLHttpRequest ، استفاده می کنیم .
در این پروسه ، ابتدا فایل XML خروجی از سرور دریافت شده و خاصیت responseXML آن را پردازش می کند . سپس اطلاعات آن را در اختیار مرورگر قرار می دهد تا در بخش هایی از صفحه که باید تغییر کنند ، استفاده شود .
برای درک بهتر این مسئله یک مثال ساده را برای شما تشریح می کنیم . در این مثال یک فایل XML به نام Book_List.xml داریم که درون آن لیست یک سری کتاب با نام نویسنده و سال انتشار قرار دارد . با اجرای دستور زیر این فایل از سرور توسط شی responseXML دریافت شده و عنوان کتاب ها از بین اطلاعات دریافتی استخراج می شود . سپس تگ < " div id = " ex-2" > ، این عنوان ها را در خروجی نمایش می دهد . برای مشاهده عملیات و خروجی مثال بر رور دکمه فرمان دریافت عنوان ها ، کلیک نمایید .

< html >
< head >
< script type="text/javascript">
function Book()
{
var xmlhttp;
var txt,x,i;
if (window.XMLHttpRequest)
{
// code for IE7+, Firefox, Chrome, Opera, Safari
xmlhttp = new XMLHttpRequest( ) }
else
{
// code for IE6, IE5
xmlhttp = new ActiveXObject("Microsoft.XMLHTTP") ;
}
xmlhttp.onreadystatechange = function ( )
{
if ( xmlhttp.readyState == 4 && xmlhttp.status == 200 )
{
xmlDoc = xmlhttp.responseXM L;
txt = " ";
x = xmlDoc.getElementsByTagName ( "TITLE" ) ;
for ( i=0 ; i<x.length ; i++ )
{ txt=txt + x.childNodes[0].nodeValue + " " ; }
document.getElementById("ex_2").innerHTML=txt;
}
xmlhttp.open(" GET " , "Book_List.xml " , true ) ;
xmlhttp.send( );
}
</script>
< /head >
< body >
< div id = " ex_2 " > < /div >
< button type="button" onclick="Book( )"> مشاهده عنوان ها < /button >
< /body >
< /html >
 
  • پیشنهادات
  • سیده آمین ارمان

    کاربر نگاه دانلود
    کاربر نگاه دانلود
    عضویت
    2016/05/10
    ارسالی ها
    1,730
    امتیاز واکنش
    20,744
    امتیاز
    795
    محل سکونت
    البرز
    خاصیت readyState - بررسی وضعیت شی XMLHttpRequest
    در این قسمت از آموزش Ajax ، خاصیت readystate -بررسی وضعیت شی XMLHttpRequest را برای شما در مقالات طراحی سایت بیان می کنیم .
    به طور کل خاصیت readystate وضعیت شی xmlhttprequest را در هر لحظه نگهداری می کند .برای انجام این کار 3 خاصیت یا رویداد در هنگام کار با xmlhttprequest وجود دارد که توسط آن جواب را از سرور دریافت می کنند .

    √ onreadystatechange : این خاصیت یک تابع را نگهداری می کند . هر زمان که وضعیت خاصیت Ready State شی XMLHttpRequest تغییر کند این رویداد رخ می دهد و تابع را اجرا می کند .
    √ readyState : این خاصیت وضعیت شی XMLHttpRequest را در هر لحظه مشخص می کند . این شی می توان 4 حالت را داشته باشد که بنابر آن یکی از اعداد 0 تا 4 را برمی گرداند :
    0 : جوابی برای درخواست دریافت نشده است .
    1 : اعتبار با سرور برقرار شده است .
    2 : درخواست به سرور رسیده است .
    3 : سرور در حال پردازش درخواست است .
    4 : درخواست بطور کامل انجام شده و پاسخ آماده است .
    √ status : این پارامتر وضعیت کلی درخواست و شی را مشخص می کند . که می تواند 2 حالت داشته باشد :
    1 : ok=200
    یعنی وضعیت درست است .
    2 : Page not found=400
    یعنی صفحه پیدا نشده است .

    لازم به ذکر است بدانید در رویداد onreadystatechange تابعی را تعیین می کنیم تا در صورتی که جواب سرور به درخواست ما آماده و ارسال شد عمل مورد نظرمان را انجام دهد . این عمل مورد نظر معمولا عملیات به روز رسانی بخش تغییر کرده در صفحه را انجام می دهد .

    در مثال زیر ، در یک دستور شرطی بررسی کرده ایم که اگر جواب سرور یعنی پارامتر readyState دارای مقدار 4 که به معنای اتمام پردازش درخواست و آماده بودن جواب است ، بود . سپس وضعیت شی نیز بررسی شود تا چنانچه مقدارش 200 به معتی ok عملیات است ، سپس دستور به روز رسانی در صفحه اجرا شود :

    xmlhttp.onreadystatechange=function( )
    {
    if (xmlhttp.readyState==4 && xmlhttp.status==200)
    {
    document.getElementById("myDiv").innerHTML=xmlhttp.responseText;
    }
    }
     

    سیده آمین ارمان

    کاربر نگاه دانلود
    کاربر نگاه دانلود
    عضویت
    2016/05/10
    ارسالی ها
    1,730
    امتیاز واکنش
    20,744
    امتیاز
    795
    محل سکونت
    البرز
    مرور کلی بر تکنولوژی مایکروسافت Ajax
    در این قسمت از آموزش Ajax ، میخواهیم مرور کلی بر تکنولوژی مایکروسافت Ajax داشته باشیم .
    با استفاده از Ajax در طراحی سایت صفحاتی که از تکنولوژی Asp.net بکار بـرده شده می توان قدرت پاسخگویی به درخواست را افزایش داد . asp.net قابلیت زیادی دارد و فواید و امکانات استفاده از تکنولوژی ajax در صفحات asp.net عبارتند از :

    √ بروز رسانی فقط بخشی از صفحه که روی آن تغییراتی اعمال شده به جای رفرش کل صفحه
    √ پردازش و اعتبارسنجی کلاینت سایدی ( به جای سرور ساید ) محتویات وارد شده در فرم های وب
    √ اضافه کردن قابلیت کارکرد اسکریپتی برای کنترل های سرور ساید Asp.Net
    √ ارتباط کلاینت سایدی با سرویس های Asp.Nt برای هویت شناسی در فرم های ورد و خروج کاربران در سایت
    √ نمایش رابط های کاربری گرافیکی متداول مثل نمایش دهنده های میزان پیشرفت پروسه ، پیام های راهنما یا منوهای POP-UP

    با توجه به اینکه asp.net دارای چندین کنترل پیش ساخته ajax است قابلیت ها و امکانات این تکنولوژی جدید را بدون نیاز به کدنویسی خاصی در اختیار کاربر قرار می دهد . حال می خواهیم در زیر لیست کنترل های ajax در asp.net را بصورت مختصر می کنیم.

    Timer : بوسیله این کنترل می توانید در فواصل زمانی تعیین شده صفحه را PostBack کرده و یا با اتصال آن به یک کنترل UpdatePanel کد آن را اجرا نمایید .
    UpdateProgress : این کنترل می تواند عملیات به روز رسانی و آپدیت اطلاعات در صفحه را در قالب یک نمایه گرافیکی یا پیام نمایش دهد .
    UpdatePanel : این کنترل بخش محتویات کدی که درون آن قرار داشته را در صفحه آپدیت و به روز رسانی می کند و مانع رفرش شدن کد صفحه می شود .
    ScriptManager : این کنترل وظیفه پردازش و مرتب سازی اسکریپت های کلاینتی صفحه را به عهده دارد . عملیات های Ajax بر اساس اسکریپت ها در صفحه اجرا می شوند . این کنترل اسکریپت ها را مدیریت و اجرا می کند .
     

    سیده آمین ارمان

    کاربر نگاه دانلود
    کاربر نگاه دانلود
    عضویت
    2016/05/10
    ارسالی ها
    1,730
    امتیاز واکنش
    20,744
    امتیاز
    795
    محل سکونت
    البرز
    ساخت یک سایت ASP.Net با قابلیت Ajax
    در این قسمت از آموزش Ajax در مقالات طراحی سایت ، می خواهیم ساخت یک سایت asp.net با قابلیت Ajax را برای شما شرح دهیم .

    برای انجام این طراحی سایت باید یک سایت ساده با asp.net ساخت که این سایت شامل صفحه ای است که برخی از قابلیت های مایکروسافت Ajax را نمایش خواهد داد . برنامه از یک کنترل UpdatePanel برای بروز رسانی بخشی از صفحه که در آن تغییر ایجاد شده استفاده می کند در این کار به جای کل صفحه فقط قسمتی که تغییر کرده رفرش می شود همچنین این برنامه از یک کنترل UpdateProgress برای نمایش میزان انتقال اطلاعات استفاده می شود . هنگامیکه طراحی سایت یک صفحه از سایت با asp.net را انجام دادید قبل از اینکه یک کنترل UpdatePanel را به صفحه اضافه نمایید باید یک کنترل ScriptManger را نیز بر روی صفحه قرار دهید کنترل UpdatePanel برای انجام امور آپدیت و دریافت و ارسال اطلاعات از قابلیت های کنترل ScriptManger استفاده می کند .برای ساخت یک صفحه جدید asp.net در پروژه باید مراحل زیر را انجام داد .

    √ از منوی Solution Explorer ، بر روی نام سایت کلیک سمت راست کرده و گزینه Add New Item را انتخاب نمایید .
    √ از منوی باز شده ، نوع فایل را Web Form انتخاب کرده و سپس نام آن را به Students.aspx تغییر دهید . همچنین تیک گزینه Place code in separate file را بردارید .
    √ با زدن دکمه Add ، صفحه جدید را ایجاد کرده و به حالت Design بروید .
    √از منوی AJAX Extensions یک کنترل ScriptManger و یک کنترل UpdatePanel را بر روی صفحه قرار دهید .
     

    سیده آمین ارمان

    کاربر نگاه دانلود
    کاربر نگاه دانلود
    عضویت
    2016/05/10
    ارسالی ها
    1,730
    امتیاز واکنش
    20,744
    امتیاز
    795
    محل سکونت
    البرز
    ساخت یک برنامه داده ای با قابلیت Ajax
    در این قسمت از طراحی سایت به ساخت یک برنامه داده ای با قابلیت Ajax می پردازیم . در این راهکار شما با نحوه ایجاد یک برنامه وب با قابلیت Ajax ، که برای نمایش لیستی از آیتم ها و کارهای در حال اجرا به کار می رود ، آشنا خواهید شد .
    این برنامه به شما کمک می کند تا یک رابط کاربری را برای ایجاد ، مدیریت ، پاک کردن لیست ها و آیتم های موجود در آنها بسازید . تمامی اعمال به روز رسانی، وارد کردن ، پاک کردن و صفحه بندی اطلاعات درون یک کنترل UpadatePanel انجام می شود ، که از تکنولوژی Ajax استفاده می کند .

    کارهایی که در این راهکار به شما آموزش داده خواهد شد ، عبارتند از :

    √ ایجاد یک پایگاه داده SQL و اضافه کردن اطلاعات .
    √ اضافه کردن یک کنترل LinqDataSource به صفحه .
    √ اضافه کردن کلاس LINQ به کلاس های SQL .
    √ استفاده از کنترل ListView برای نمایش ، ویرایش و پاک کردن اطلاعات در پایگاه داده .
    √ استفاده از کنترل LinqDataSource برای اتصال به پایگاه داده با استفاده از زبان LINQ .
    √ استفاده از کنترل UpdatePannel برای اضافه کردن قابلیت های Ajax به صفحه .

    نرم افزار های پیش نیاز :

    برای اجرای این راهکار بایستی نرم افزار های زیر بر روی سیستم شما نصب شده باشند :
    √ نرم افزار Microsoft Visual Studio or Visual Web Developer 2010 Express یا ورژن های مشابه .
    √ SQL Server Express که همراه با ویژوال استودیو نصب می شود .

    ایجاد یک وب سایت جدید ASP.Net :

    در مرحله اول ، باید سایت ASP.Net خود را ایجاد نمایید که در واقع همان طراحی سایت است. فرض بر این است که کاربر آشنایی کافی برای ایجاد یک وب سایت جدید ASP.Net را دارد . اگر هم با این کار آشنا نیستید ، برای دریافت اطلاعات بیشتر به راهکار ساخت یک وب سایت ساده در ASP.Net بروید .

    ایجاد یک پایگاه داده جدید SQL Server :

    اکنون که سایت جدید ASP.Net خود را ساخته اید ، قدم بعدی ایجاد یک پایگاه داده و اضافه کردن یک مسیر دسترسی به آن در Server Explorer است . هنگامی که یک پایگاه داده را به Server Explorer ، اضافه می کنید ، می توانید به راحتی از نرم افزار ویژوال استودیو برای اضافه کردن جداول ، stored procedures ، views و ... به آن ، استفاده نمایید .
    همچنین می توانید از طریق این ابزار اطلاعات موجود در جداول پایگاه داده را مشاهده کرده و یا اینکه Query مورد نظر خود را به راحتی با استفاده از پنجره Query Builder ایجاد نمایید .

    نحوه اضافه کردن یک Database به پروژه :

    √ در منوی Solution Explorer ، بر روی نام وب سایت کلیک راست کرده و گزینه Add New Item را انتخاب نمایید .
    √ از کادر باز شده ، گزینه SQL Database را انتخاب کرده و نام آن را به Tasks.mdf تغییر داده و گزینه Ok را بزنید .
    √ هنگامی که نرم افزار ویژوال استودیو از شما پرسید ، که Database باید در پوشه App_Data نگهداری شود ، گزینه Yes را انتخاب نمایید .

    ایجاد کنترل های دسترسی و کار با داده در ASP.Net :

    در این بخش ، از یک کنترل LinqDataSource استفاده خواهید کرد و به وسیله آن کلاس هایی را طراحی می کنید ، که به جای موجودیت های مختلف پایگاه داده ( مثل جدول ، خود پایگاه داده و ... ) عمل خواهند کرد .
    کنترل LinqDataSource و کلاس های طراحی شده برای آن ، لایه دسترسی به داده ها هستند ، که در این راهکار باید از آنها استفاده نمایید .
    کنترل LinqDataSource ، زبان LINQ را به توسعه دهندگان وب از طریق سیستم دیتای ASP.Net ، معرفی کرد . کنترل LinqDataSource کدهای لازم برای انتخاب کردن ، وارد نمودن ، به روز رسانی و یا حذف اشیا و اطلاعات را در پایگاه داده ایجاد می کند . LINQ ویژگی های برنامه نویسی شی گرا را به زبان پایگاه داده اضافه کرده است .
    این زبان یک مدل برنامه نویسی منحصر به فرد را برای جستجو و به روز رسانی اطلاعات برای منابع داده ای مختلف فراهم کرده و قابلیت های خود را مستقیما به #C یا VB اضافه می کند .

    اتصال پایگاه داده Tasks به یک شی داده ای SQL :

    برای شروع ساخت لایه داده ای برنامه ، باید یک شی dataset را به پروژه اضافه نماییم .
    نحوه ایجاد یک کلاس برای جدول TaskList :
    √ اگر وب سایتی که ایجاد نموده اید ، از قبل دارای پوشه App_Code نیست ، در منوی Solution Explorer ، بر روی نام وب سایت کلیک راست کرده و گزینه Add ASP.Net Folder را انتخاب نموده و سپس پوشه APP_Code را اضافه نمایید .
    √ بر روی پوشه App_Code کلیک راست کرده و گزینه Add New Item را انتخاب نمایید .
    √ از پنجره باز شده ، نوع فایل LINQ to SQL Classes را انتخاب کرده و نام آن را به Tasks.dbml تغییر داده و سپس گزینه Add را بزنید .
    √ از منوی Server Explorer ، جدول TaskList را درگ کرده و آن را بر روی پنجره Object Relational Designer بندازید .
    √ فایل Tasks.dbml را ذخیره نمایید .
    هنگامی که فایل فوق را ذخیره می نمایید ، ویژوال استودیو به صورت اتوماتیک دو فایل را در پوشه App_Code و در زیر فایل Tasks.dbml اضافه می کند . فایل اول Tasks.dbml.layout بوده و فایل دوم Tasks.designer.cs یا Tasks.designer.vb می باشد ، بر حسب زبان برنامه نویسی که برای پروژه خود انتخاب کرده اید .
    √ در منوی Solution Explorer ، فایل Tasks.designer.cs یا Tasks.designer.vb را باز کنید .
    اگر به آن دقت نمایید ، مشاهده می کنید که دارای 2 کلاس به نام های TasksDataContext و TasksList می باشد . کلاس TasksDataContext به جای خود پایگاه داده و کلاس TasksList به جای جدول آن عمل می کند .
    کلاس TasksDataContext که فاقد هر گونه پارامتر است ، اطلاعات اتصال به پایگاه داده ( Connection String ) را از فایل web.config می خواند .
    √ فایل web.config را باز کنید .
    دقت نمایید که یک رشته ارتباطی ( Connection String ) برای پایگاه داده Tasks.mdf به المنت connectionStrings اضافه شده است .
    √ تمامی فایل های که باز کرده را ببندید .

    ایجاد و تنظیم کردن کنترل LinqDataSource :

    اکنون که شما یک جدول پایگاه داده و کلاس هایی که جانشین اجزای درونی آن هستند ، را در اختیار دارید ، می توانید از یک کنترل ListView برای اتصال به Database بر روی صفحات ASP.Net استفاده کنید . برای این منظور مراحل زیر را انجام دهید :
    √ صفحه Default.aspx سایت را باز کرده و به نمای Design بروید .
    √ یک کنترل LinqDataSource را از بخش کنترل های داده منوی Toolbox درگ کرده و بر روی صفحه قرار دهید . Id آن را نیز برابر با LinqDataSource1 قرار دهید .
    √ از بخش LinqDataSource Tasks ، که به صورت یک فلش بر روی کنترل LinqDataSource مشاهده می شود ، گزینه Configure Data Source را انتخاب نمایید .
    √ از بخش Choose your context object ، گزینه TasksDataContext را انتخاب کرده و گزینه Next را بزنید .
    √ از لیست Table ، گزینه ( TasksLists ( Table را انتخاب کرده و سپس دکمه Finish را بزنید .
    √ مجددا از قسمت LinqDataSource Tasks ، گزینه های Enable Delete , Enable Insert و Enable Update را علامت بزنید .
    توجه داشته باشید که شما نیازی به هیچ گونه کدنویسی برای انجام این عملیات ها نداشته و خود کنترل ها آنها را برایتان انجام می دهند .
    √ صفحه را ذخیره نمایید .

    استفاده از کنترل های سرور داده :

    در این قسمت ، شما کنترل هایی را به صفحه اضافه خواهید کرد که از کنترل LinqDataSource و کلاس های آن ، برای اتصال به پایگاه داده و نمایش اطلاعات مورد نظر استفاده خواهند کرد .
    برای این منظور ، یک کنترل ListView را برای نمایش اطلاعات از پایگاه داده SQL اضافه خواهیم کرد . سپس یک کنترل DropDownList را برای فیـلتـ*ـر کردن و گزینش اطلاعات خروجی در کنترل ListView به کار خواهید برد .
    در نهایت نیز از یک کنترل UpdatePannel برای افزودن قابلیت های Ajax و به روز رسانی فقط بخش مورد نظرتان در صفحه به جای رفرش شدن کل آن ، استفاده خواهید نمود .

    نمایش اطلاعات توسط یک کنترل ListView :

    کنترل ListView ، برای نمایش اطلاعات ساختار بندی شده، همانند کنترل های Repeater و DataList بسیار مناسب است . همچنین این کنترل بر خلاف دو کنترل ذکر شده ، از قابلیت های ویرایش ، وارد نمودن ، پاک کردن ، صفحه بندی و مرتب سازی اطلاعات به راحتی پشتیبانی می کند .
    اکنون شما یک کنترل ListView را به صفحه اضافه خواهید کرد ، که تمامی اطلاعات جدول Tasks را نمایش خواهد داد. در مرحله بعدی یک کنترل DropDownList را نیز به صفحه اضافه خواهیم کرد ، تا فقط اطلاعات مورد نظر خود را نشان داده و بقیه را فیـلتـ*ـر نماید .
    کنترل ListView ، اطلاعات جدول بانک اطلاعاتی را در جداول مرتب و با ویرایش کاربر پسند نمایش داده و همچنین دارای دکمه هایی برای ویرایش ، حذف ، به روز رسانی و یا وارد نمودن اطلاعات جدید به پایگاه داده است .
    برای اضافه کردن یک کنترل ListView به صفحه ، مراحل زیر را انجام دهید :
    √ به صفحه ای که می خواهید کنترل ListView را به آن اضافه نمایید ، بروید .
    √ از بخش Data منوی Toolbox ، یک کنترل ListView را برداشته و بر روی صفحه قرار دهید .
    √ از منوی ListView Tasks ، که به صورت یک فلش بر روی کنترل دیده می شود ، کادر Choose Data Source list را انتخاب کرده و گزینه LinqDataSource1 را کلیک نمایید .
    این کار ، کنترل ListView را به کنترل LinqDataSource متصل می کند .
    √ مجددا در منوی ListView Tasks ، بر روی گزینه Configure ListView کلیک نمایید .
    سپس از پنجره باز شده ، گزینه های Enable Editing, Enable Inserting, Enable Deleting و Enable Paging را علامت بزنید .
    √ دکمه Ok را زده و صفحه را ذخیره نمایید .

    اضافه کردن یک کنترل DropDownList برای فیـلتـ*ـر کردن اطلاعات :

    شما می توانید ، اطلاعاتی که توسط کنترل ListView نمایش داده می شود را به وسیله قرار دادن یک کادر انتخابی DropDownList ، فیـلتـ*ـر کرده و در هر لحظه ، اطلاعات مورد نظر خود را بر حسب گزینه ای که کاربر در لیست انتخاب کرده ، تغییر دهید .
    برای اضافه کردن یک کنترل DropDownList به صفحه مراحل زیر را انجام دهید :
    √ صفحه Default.aspx را باز کرده و به نمای source کد بروید .
    √ درون تگ <form> صفحه و در بالای کد کنترل ListView ، کد زیر را قرار دهید :

    <span id="filter">
    Current List Filter:
    <asp:DropDownList ID="DropDownList1" AutoPostBack="true" runat="server">
    <asp:ListItem Text="Active" Value="False" />
    <asp:ListItem Text="Completed" Value="True" />
    </asp:DropDownList>
    </span>
    <hr id="separator" />

    √ درون کد کنترل LinqDataSource ، مقدار خاصیت AutoGenerateWhereClause آن را بر روی مقدار true تنظیم نمایید .
    √ کد زیر را درون تگ باز و بسته کنترل LinqDataSource اضافه نمایید . این کد تعیین می کند که در هر لحظه چه اطلاعاتی نمایش داده شود . به آن دقت نمایید :

    <WhereParameters>
    <asp:ControlParameter
    Name="isComplete"
    ControlID="DropDownList1"
    Type="Boolean" />
    </WhereParameters>

    √ صفحه را ذخیره نمایید .
    اکنون شما می توانید صفحه را تست کرده و مطمئن شوید که اطلاعات مورد نظرتان بر روی صفحه نمایش داده خواهد شد .
    برای تست صفحه کلیدهای Ctrl + F5 را همزمان فشار دهید .
    سپس از کنترل DropDownList ، گزینه Completed را انتخاب نمایید . مشاهده خواهید کرد فقط اطلاعات ، رکوردهای از جدول Tasks در کنترل ListView نمایش داده می شود که مقدار فیلد isComplete آنها برابر با True است .

    اضافه کردن قابلیت Ajax به صفحه :

    در این بخش از راهکار ، که بخش پایانی است ، یک کنترل ScriptManager را به صفحه اضافه خواهیم کرد ، که قابلیت های Ajax را بر روی صفحات ASP.Net فعال می کند .
    سپس نیز یک کنترل UpdatePannel را بر روی صفحه قرار خواهیم داد ، که این امکان را به ما می دهد تا به روز رسانی و تغییر اطلاعات در کنترل ListView ، بدون Postback شدن و رفرش کل صفحه انجام گیرد .

    اضافه کردن یک کنترل ScriptManager به صفحه :

    برای استفاده از هر گونه قابلیت Ajax و کنترل های مرتبط با آن بر روی صفحات ASP.Net ، بایستی یک کنترل ScriptManager را به روش زیر ، بر روی صفحه قرار دهید :
    √ صفحه Default.aspx را باز کرده و به نمایه source کد بروید .
    √ از بخش AJAX Extensions منوی Toolbox ، یک کنترل ScriptManager را انتخاب کرده و در میان تگ <form> قرار دهید .

    قرار دادن کنترل ListView درون کنترل UpdatePannel :

    در این مثال ، کنترل ListView را درون کنترل UpdatePannel قرار می دهیم . انجام این کار باعث می شود تا انجام هر گونه تغییر و به روز رسانی در کنترل ListView ، بدون لود شدن و رفرش کل صفحه انجام شود .
    برای این منظور مراحل زیر را انجام دهید :
    √ در صفحه Default.aspx ، کد زیر را مستقیما پس از تگ ابتدایی <form> قرار دهید :

    <asp:UpdatePanel ID="UpdatePanel1" runat="server">
    <ContentTemplate>

    همچنین کد زیر نیز دقیقا قبل از تگ انتهایی <form/> قرار دهید :

    </ContentTemplate>
    </asp:UpdatePanel>

    این کار باعث می شود تا کنترل های ListView و DropDownList درون کنترل UpdatePannel قرار بگیرند .

    مرحله نهایی :

    پس از ذخیره صفحه ، برای اجرای آن ، کنترل های Ctrl + F5 را همزمان فشار دهید .
    سپس آیتم های موجود در کنترل DropDownList را تغییر دهید . مشاهده می کنید که بدون رفرش شدن صفحه ، اطلاعات کنترل ListView ، به روز رسانی می شود .
     

    سیده آمین ارمان

    کاربر نگاه دانلود
    کاربر نگاه دانلود
    عضویت
    2016/05/10
    ارسالی ها
    1,730
    امتیاز واکنش
    20,744
    امتیاز
    795
    محل سکونت
    البرز
    معرفی کنترل های ASP.Net در Ajax
    در این قسمت از آموزش Ajax به معرفی کنترل های ASP.Net در Ajax می پردازیم . همانطور که در بخش های قبل با مفهوم کاربرد Ajax آشنا شدید ، این تکنیک امکان به روز رسانی و آپدیت بخشی از یک صفحه وب را بدون رفرش شدن و بارگذاری مجدد کل صفحه را فراهم می نماید .
    در لیست زیر ، کنترل های ASP.Net در Ajax معرفی شده اند . برای دریافت اطلاعات بیشتر راجع به هر کدام بر روی نام آن کلیک نمایید :

    √ کنترل ScriptManager : کنترل ScriptManager ، وظیفه مدیریت اسکریپت ها در صفحات ASP.Net با قابلیت Ajax را دارد و به طور پیش فرض ، کنترل ScriptManager ، اسکریپت فراخوانی شده در صفحه را در مجموعه اسکریپت های Ajax صفحه ، ثبت و اجرا می کند .
    به عبارت دیگر بار کلی فراخوانی ، اجرا و در نهایت اعمال تغییرات و آپدیت مورد نظر در صفحه ، بر عهده کنترل ScriptManager می باشد .

    √ کنترل Timer : از کنترل Timer برای اجرای دستورات مورد نظر در بازه های زمانی معین و به صورت متناوب استفاده می شود . اگر این کنترل را با کنترل UpdatePanel به کار ببرید ، می توانید در بازه های زمانی معین ، یک بخش از صفحه را به صورت متناوب ، به روز رسانی نمایید . همچنین از این کنترل می توانید برای postback کردن کامل صفحه استفاده نمایید .

    √ کنترل UpdatePanel : کنترل UpdatePanel ، این امکان را به شما می دهد تا فقط بخشی از یک صفحه وب را که می خواهید به روز رسانی شده و تغییر کند را آپدیت کرده ، به جای اینکه کل صفحه را رفرش نمایید .
    با به کار بردن کنترل UpdatePanel به همراه کنترل ScriptManager در یک صفحه ASP.Net ، برای آپدیت و به روز رسانی اطلاعات در یک صفحه ، دیگر نیاز به نوشتن هیچ کد یا اسکریپت اضافه ای نخواهید داشت .

    √ کنترل UpdateProgress : به وسیله کنترل UpdateProgress می توانید ، در یک نمایه تصویری یا معمولی ، پروسه و میزان پیشرفت عملیات اجرا و به روز رسانی اطلاعات در صفحه را ، به کاربر نمایش دهید .
     

    سیده آمین ارمان

    کاربر نگاه دانلود
    کاربر نگاه دانلود
    عضویت
    2016/05/10
    ارسالی ها
    1,730
    امتیاز واکنش
    20,744
    امتیاز
    795
    محل سکونت
    البرز
    کنترل ScriptManger
    در این قسمت از مقالات طراحی سایت در بخش آموزش Ajax به تعریف کنترل ScriptManger می پردازیم . کنترل ScriptManager ، وظیفه مدیریت اسکریپت ها بر روی صفحات ASP.Net ای که قابلیت Ajax آنها فعال است را بر عهده دارد . به طور پیش فرض ، کنترل ScriptManager ، اسکریپت های به وقوع پیوسته متعلق به عملیات های Ajax در صفحه را ، با مجموعه سایر اسکریپت های صفحه مرتبط می کند .
    این کار امکان استفاده از قابیلت های مرورگر در سمت کلاینت و آپدیت شدن بخش های مختلف صفحه بدون رفرش شدن کامل آن را می دهد .
    شما بایستی از یک کنترل ScriptManager ، برای فعال سازی قابلیت های Ajax زیر در صفحات ASP.Net استفاده نمایید :
    √ به روز رسانی و تغییر فقط بخشی از صفحه که می خواهید تغییر کند ، به جای Postback شدن کل آن . کنترل های UpdatePannel و UpdateProgress و Timer برای کارکرد صحیح بر روی صفحات ASP.Net ، به یک کنترل ScriptManager نیاز دارند .
    √ امکان دسترسی کلاس های جاوا اسکریپت به سایر اطلاعات صفحات ASP.Net ، مثل اطلاعات اهراز هویت کاربر ، پروفایل ها و ... .
    √ دسترسی کلاس های جاوا اسکریپت به وب سرویس های فعال بر روی صفحات ASP.Net .

    هنگامی که صفحه شامل یک یا چندین کنترل UpdatePannel می باشد ، کنترل ScriptManager ، انجام عملیات به روز رسانی و تغییر اطلاعات در آنها را مدیریت می کند . این کنترل با متدهای حیات صفحه ( Page life cycles ) ، برای به روز رسانی بخش های مختلف کنترل UpdatePannel در ارتباط است .
    خاصیت EnablePartialRendering ، تعیین می کند که آیا اطلاعات به روز رسانی و تغییر در صفحه بدون Postback شدن آن فعال باشد یا خیر . به طور پیش فرض ، این مقدار بر روی true تنظیم شده و فعال است .
    برای دریافت اطلاعات بیشتر راجع به نحوه استفاده از کنترل های UpdatePannel و UpdateProgress و Timer ، به بخش های آموزشی آنها بروید .

    مدیریت خطاهای احتمالی در آپدیت صفحات :

    چنانچه در هنگام انجام عمل به روز رسانی و آپدیت بخشی از صفحه ، خطایی رخ دهد ، به وسیله کارهای زیر در کنترل ScriptManager ، می توانید آنها را مدیریت نمایید :
    تنظیم خاصیت AsyncPostBackErrorMessage کنترل ، که تعیین کننده پیام خطایی است که به مرورگر فرستاده می شود .
    مدیریت رویداد AsyncPostBackError کنترل ScriptManager ، که در زمان بروز خطا در عمل آپدیت رخ داده و می توان کدهای مورد نظر خود را در آن قرار داد .
    تنظیم خاصیت AllowCustomErrorsRedirect کنترل ، که تعیین می کند بخش خطاهای احتمالی ( Custom Errors ) در فایل web.config سایت ، چگونه باید استفاده شوند .

    ثبت کردن اسکریپت های مورد نظر در صفحه با کنترل ScriptManager :

    می توانید از کنترل ScriptManager ، برای مدیریت منابع کنترل هایی که در عملیات آپدیت و به روز رسانی صفحه ، نقش دارند ، استفاده کنید . این منابع شامل اسکریپت ها ، استایل ها ، فیلدهای مخفی و ... می شوند .
    مجموعه اسکریپت های ( Scripts Collection ) کنترل ScriptManager ، شامل یک شی ScriptReference برای هر اسکریپتی که در صفحه قرار دارد ، می باشد . شما می توانید به طور صریح یا برنامه نویسی شده ، اسکریپت ها را تعیین کنید .
    همچنین کنترل ScriptManager ، متدهای ثبت و ارتباط دهی را اجرا می کند ، که به وسیله آنها می توانید ، اسکریپت های کلاینت و فیلدهای مخفی روی صفحه را به صورت برنامه ریزی شده ، مدیریت نمایید .

    ثبت کردن وب سرویس ها :

    برای ثبت یک وب سرویس که شما می خواهید از یک صفحه ASP.Net با قابلیت Ajax فعال ، آن را فراخوانی نمایید ، باید وب سرویس را با اضافه کردن آن به مجموعه Services کنترل ScriptManager ، ثبت نمایید .
    چهارچوب کاری مایکروسافت ایجکس ، یک شی کلاینت را برای هر شی ServiceReference در مجموعه Services کنترل ایجاد می کنند . کلاس پروکسی و اعضای آن از کنترل ScriptManager ، به راحتی با وب سرویس ها از طریق کلاینت اسکریپت ، ارتباط برقرار می کند .

    تنها یک نمونه از کنترل ScriptManager می تواند به صفحه اضافه شود . صفحه می تواند به صورت مستقیم و یا از طریق یک کامپوننت دیگر مثل یک مسترپیج این کنترل را در خود داشته باشد .
    اگر یک نسخه از کنترل ScriptManager بر روی صفحه وجود داشته باشد ، ولی یک کامپوننت ترکیبی یا فرزند ، به نمونه دیگری از کنترل نیاز داشته باشد ، آنگاه کامپوننت دوم باید از کلاس ScriptManagerProxy استفاده نماید .
     

    سیده آمین ارمان

    کاربر نگاه دانلود
    کاربر نگاه دانلود
    عضویت
    2016/05/10
    ارسالی ها
    1,730
    امتیاز واکنش
    20,744
    امتیاز
    795
    محل سکونت
    البرز
    کنترل Timer
    در این قسمت از آموزش Ajax در طراحی سایت به توضیح کنترل Timer می پردازیم . کنترل Timer به صورت متناوب ، در بازه زمانی تعیین شده ، صفحه را Postback می کند . همچنین اگر این کنترل را همراه با یک کنترل UpdatePannel به کار ببرید ، می توانید قفقط بخشی از صفحه که کنترل UpdatePannel شامل آن می شود را به صورت متناوب ، به روز رسانی کنید .
    این کنترل همچنین می تواند ، پس از گذشت مدت زمانی معین ، کل صفحه را به آدرس دیگری Post نماید .

    شما می توانید از کنترل Timer ، برای انجام امور زیر استفاده نمایید :

    √ محتویات یک یا چند کنترل UpdatePannel را بدون رفرش کردن و Postback شدن کل صفحه ، در فواصل زمانی معین ، به روز نمایید .
    √ کد یا کدهای مورد نظر خود را هر بار که کنترل Timer صفحه را Postback می کند ، اجرا نمایید .
    √ به صورت متناوب و در فواصل زمانی دلخواه ، کل صفحه را به سرور Post نمایید .

    کنترل Timer یک کنترل سرور ASP.Net است ، که برای اجرای بر روی صفحات ، یک Component یا جزء جاوا اسکریپت را به صفحه اضافه می کند . جزء جاوا اسکریپت درون صفحه ، پس از گذشت مدت زمان تعیین شده در خاصیت Interval کنترل Timer ، به صورت متناوب ، صفحه را Postback می کند .
    در طراحی صفحه ASP.Net ، هر خاصیتی را که برای کنترل Timer تعیین کنید ، در هنگام اجرای صفحه توسط سرور به جزء جاوا اسکرییت مرتبط با آن در صفحه ، ارسال می شود .
    برای کارکرد درست کنترل Timer ، حتما بایستی یک کنترل یا یک نمونه از کلاس ScriptManager ، بر روی صفحه وجود داشته باشد .
    هر بار که Postback توسط کنترل Timer اجرا شود ، این کنترل رویداد Tick خود را اجرا می کند . شما می توانید ، کدهای مورد نظر خود را برای اجرای متناوب در این رویداد کنترل ، قرار دهید .
    از خاصیت Interval کنترل Timer برای تعیین دوره زمانی Postback شدن کنترل و از خاصیت Enabled آن برای روشن یا خاموش کردن آن استفاده می شود .
    خاصیت Intervals بر حسب میلی ثانیه تعیین شده و مقدار پیش فرض آن 60000 میلی ثانیه ، یا 60 ثانیه است . همچنین خاصیت Enabled ، می تواند دارای یکی از دو مقدار true یا false باشد .

    نکته : تعیین مدت زمان دوره تناوب کنترل Timer به مقدار خیلی کم ، می تواند باعث هنگ کردن صفحه و تحمیل بار اضافه به سرور شود . بنابراین ، فقط در زمانی که نیاز دارید ، صفحه را Postback نمایید .
    شما می توانید بیش از یک کنترل Timer را بر روی صفحه قرار دهید ، چنانچه لازم باشد ، کنترل های مختلف UpdatePannel ، در فواصل زمانی گوناگون به روز شوند . اما یک کنترل Timer را می توانید برای کنترل چندین کنترل UpdatePannel ، به صورت همزمان به کار ببرید .

    استفاده از یک کنترل Timer درون یک کنترل UpdatePannel :

    هنگامی که یک کنترل Timer را درون یک کنترل UpdatePannel قرار دهید ، به صورت اتوماتیک کنترل Timer به عنوان رفرش کننده و آپدیت کننده آن عمل می کند .
    شما می توانید این رفتار کنترل Timer را با قرار دادن مقدار خاصیت ChildrenAsTriggers کنترل UpdatePannel ، بر روی مقدار false کنسل کنید .
    برای کنترل Timer ای که درون یک کنترل UpdatePannel قرار دارد ، مدت زمان شمارش دوره تناوب زمانی آغاز می شود ، که عمل Postback صفحه به طور کامل اجرا شود . بنابراین دوره تناوب آن تا زمانی که صفحه به طور کامل از سرور باز نگردد ، شروع نمی شود .
    برای مثال ، اگر دوره تناوب کنترل تایمر را 60 ثانیه تعیین کرده و انجام عمل Postback صفحه 3 ثانیه طول بکشد ، سری بعدی دوره تناوب کنترل تایمر ، 63 ثانیه بعد خواهد بود .
    در مثال زیر ، کد قرار گرفتن یک کنترل Timer درون یک کنترل UpdatePannel را مشاهده می کنید :

    <asp:ScriptManager runat="server" ID="ScriptManager1" />
    <asp:UpdatePanel runat="server" ID="UpdatePanel1" UpdateMode="Conditional">
    <ContentTemplate>
    <asp:Timer ID="Timer1" runat="server" Interval="12000" OnTick="Timer1_Tick">
    </asp:Timer>
    </ContentTemplate>
    </asp:UpdatePanel>

    استفاده از یک کنترل Timer بیرون از یک کنترل UpdatePannel :

    اگر کنترل Timer را بیرون از تگ کنترل UpdatePannel باشد ، شما باید صراحتا تعیین کنید که این کنترل Timer به عنوان اجرا کننده و آپدیت کننده کنترل UpdatePannel به صورت متناوب است .
    اگر کنترل Timer بیرون کنترل UpdatePannel باشد ، دوره تناوب کنترل تایمر همزمان با شروع عملیات Postback صفحه آغاز می شود .
    برای مثال اگر دوره تناوب کنترل تایمر روی 60 ثانیه تنظیم شده باشد و عمل Postback صفحه 3 ثانیه طول بکشد ، Postback بعدی دقیقا 60 ثانیه دیگر انجام می شود . بنابراین کاربر محتوی جدید صفحه را فقط برای 57 ثانیه مشاهده خواهد کرد .
    در مثال زیر ، کد قرار گرفتن یک کنترل Timer بیرون از یک کنترل UpdatePannel را مشاهده می کنید :

    <asp:ScriptManager runat="server" ID="ScriptManager1" />
    <asp:Timer ID="Timer1" runat="server" Interval="12000" OnTick="Timer1_Tick">
    </asp:Timer>
    <asp:UpdatePanel ID="UpdatePanel1" runat="server">
    <Triggers>
    <asp:AsyncPostBackTrigger ControlID="Timer1" EventName="Tick" />
    </Triggers>
    <ContentTemplate>
    <asp:Label ID="Label1" runat="server"></asp:Label>
    </ContentTemplate>
    </asp:UpdatePanel>
     

    سیده آمین ارمان

    کاربر نگاه دانلود
    کاربر نگاه دانلود
    عضویت
    2016/05/10
    ارسالی ها
    1,730
    امتیاز واکنش
    20,744
    امتیاز
    795
    محل سکونت
    البرز
    کنترل UpdatePanel
    در این قسمت از مقالات طراحی سایت و در بخش آموزش Ajax ، می خواهیم نحوه ی کار با کنترل UpdatePannel را برای شما توضیح دهیم .
    از کنترل updatepannel هنگامی استفاده می کنیم که بخواهیم فقط قسمت خاصی از صفحه را آپدیت کرده و به جای کل صفحه فقط قسمتی که تغییر در آن اعمال شده رفرش شود . برای انجام این کنترل باید از کنترل scriptmanager بر روی صفحه و بدون نیاز به هیچ کدنویسی استفاده کرد .

    کنترل UpdatePannel ، با جدا کردن بخش مورد نظر از صفحه ، در هنگام به روز رسانی خود ، فقط آن بخش یا بخش های مرتبط را آپدیت کرده و مانع رفرش شدن و Postback کل صفحه می شود .این کار به وسیله یک کنترل ScriptManager و کلاس PageRequestManager در صفحه انجام می شود . پس از ارسال دستورات به سرور ، سرور درخواست را بررسی می کند و جواب را حاضر می کند که این جواب به صفحه برگردانده می شود وبه وسیله متدهای DOM در بخش های HTML مورد نظر اعمال می شود .

    دستور زیرنحوه تعریف و استفاده از یک کنترل ScriptManager و UpdatePannel را به صورت همزمان نشان می دهد . کنترل UpdatePannel شامل یک دکمه فرمان است که در هنگام کلیک بر روی آن ، محتویات درون UpdatePannel به روز می شود . به صورت پیش فرض مقدار خاصیت ChildrenAsTriggers کنترل UpdatePannel بر روی مقدار true تنظیم شده و همین باعث می شود تا کلیک بر روی دکمه فرمان که یک کنترل فرزند UpdatePannel است ، باعث آپدیت محتویات آن شود .

    <asp:Button ID="Button1" Text="Refresh Panel" runat="server" />
    <asp:ScriptManager ID="ScriptManager1" runat="server" />

    <asp:UpdatePanel ID="UpdatePanel1" UpdateMode="Conditional" runat="server">
    <Triggers>
    <asp:AsyncPostBackTrigger ControlID="Button1" />
    </Triggers>
    <ContentTemplate>
    <fieldset>
    <legend>UpdatePanel content</legend>
    <%=DateTime.Now.ToString() %>
    </fieldset>
    </ContentTemplate>
    </asp:UpdatePanel>

    همچنین محتویات درونی را برای کنترل updatepannel به صورت مستقیم در بخش کد وارد کنید و یا از contenttemplate در ویژوال استودیو استفاده کنید .محتویات این کنترل درون تگ contenttemplate قرار می گیرد . همچنین می توانید کنترل دیگری که خارج از کنترل UpdatePannel وجود دارد را نیز ، برای رفرش کردن آن تنظیم نمایید . این کار با تعیین یک trigger برای کنترل UpdatePannel انجام می شود . trigger ، کنترل یا رویدادی است که باعث می شود تا محتویات درون کنترل UpdatePannel رفرش شود . برای مثال یک دکمه فرمان . کد زیر نشان می دهد که چگونه یک دکمه فرمان را برای رفرش کردن محتویات یک کنترل UpdatePannel به کار ببرید .

    <asp:Button ID="Button1" Text="Refresh Panel" runat="server" />
    <asp:ScriptManager ID="ScriptManager1" runat="server" />
    <asp:UpdatePanel ID="UpdatePanel1" UpdateMode="Conditional" runat="server">
    <Triggers>
    <asp:AsyncPostBackTrigger ControlID="Button1" />
    </Triggers>
    <ContentTemplate>
    <fieldset>
    <legend>UpdatePanel content</legend>
    <%=DateTime.Now.ToString() %>
    </fieldset>
    </ContentTemplate>
    </asp:UpdatePanel>

    همچنین trigger به وسیله تگ <asp:AsyncPostBackTrigger> درون المنت <Triggers> کنترل UpdatePannel تعیین می شود .توجه داشته باشید که اگر مقدار کنترل updatemode روی always قرار گیرد ، کنترل updatepannel با هر postback این ویژگی در همه ی مواقع صدق می کند اما هنگامیکه مقدار خاصیت updatemode روی conditional قرار گیرد فقط در موارد زیر کنترل به روز خواهد شد :
    √ هنگامی که یک Postback یا trigger برای کنترل UpdatePannel فعال شود .
    √ هنگامی که به صورت مستقیم رویداد Update کنترل UpdatePannel را فراخوانی نمایید .
    √ هنگامی که کنترل UpdatePannel در یک کنترل دیگر UpdatePannel قرار دارد و کنترل مادر parent آن ، به روز می شود .
    √ هنگامی که مقدار خاصیت ChildrenAsTriggers کنترل روی true تنظیم شده باشد و یک کنترل فرزند درونی آن عمل Postback را انجام دهد .
     

    سیده آمین ارمان

    کاربر نگاه دانلود
    کاربر نگاه دانلود
    عضویت
    2016/05/10
    ارسالی ها
    1,730
    امتیاز واکنش
    20,744
    امتیاز
    795
    محل سکونت
    البرز
    کنترل UpdateProgress
    در این قسمت از آموزش Ajax و طراحی سایت ، نحوه ی کنترل UpdateProgress را برای شما توضیح می دهیم .
    حتما تا بحال با صفحاتی رو برو شده اید که برای انجام عملیاتی با یک ساعت دوار روبرو شده اید، این ساعت نشانگر انجام عملیات می باشد و کاربر باید منتظر باشد تا عملیات انجام شود . برای جلوگیری از نمایش فوق سریع کنترل در زمانی که عملیات به روز رسانی صفحه بسیار سریع است ، می توان یک مدت زمان تاخیری را به عنوان Delay برای نمایش کنترل در نظر گرفت .

    به عبارتی از UpdateProgress برای نمایش یک نمایه تصویری و یا متن که انجام عملیات را نشان می دهد استفاده می شود . کنترل updateprogress برای اجرا بصورت تگ div درمی آیند که این امر بسته به اینکه کنترل updatepannel مربوط به آن درحال بروزرسانی می باشد یا نه ، نمایش داده شود یا خیر . برای اتصال updateprogress به کنترل updatepannel می توانید از خاصیت AssociatedUpdatePanelID استفاده کنید . هنگامی که عمل Postback یا رفرش شدن توسط کنترل UpdatePannel انجام می شود ، کنترل UpdateProgress مرتبط با آن نمایش داده می شود . اگر کنترل UpdateProgress را به هیچ کنترلی وصل نکنید با هر بار Postback یا به روز رسانی ، آن کنترل در صفحه نمایش داده خواهد شد . اگر می خواهید متن خاصی توسط کنترل updateprogress دیده شود باید کد html موردنظر خود را درون تگ باز و بسته ProgressTemplate کنترل قرار دهید .به دستور زیر توجه نمایید :

    <asp:UpdateProgress ID="UpdateProgress1" runat="server">
    <ProgressTemplate>
    An update is in progress...
    </ProgressTemplate>
    </asp:UpdateProgress>

    هنگامی که مقدار خاصیت DynamicLayout کنترل UpdateProgress را بر روی true تنظیم کنید برای اجرا در صفحه وب هیچ فضایی اشغال نمی شود و صفحه به صورت داینامیکی در مواقع لازم نمایش داده می شود . برای پشتیبانی از نمایش داینامیک ، کنترل UpdateProgress بر روی صفحه در هنگام اجرا به صورت یک تگ <div> در طراحی سایت رندر می شود ، که مقدار خاصیت dispaly آن برابر با none است .همچنین هنگامیکه مقدار خاصیت DynamicLayout روی false باشد کنترل updateprogress در صفحه وب فضایی را اشغال خواهد کرد . کنترل به صورت یک تگ <div> رندر شده ، که مقدار خاصیت dispaly آن روی block و مقدار خاصیت visibility اش روی hidden تنظیم شده است .
    شما می توانید از کنترل updateprogress هروقت خواستید استفاده نمایید برای این کار بایستی از رویدادهای beginRequest و endRequest در جاوا اسکریپت به کار گرفت . همچنین کنترل UpdateProgress را درون یا بیرون از کنترل UpdatePannel قرار دهید . یک کنترل UpdateProgress هر زمان که کنترل UpdatePannel مرتبط به آن ، در حال به روز رسانی باشد ، نمایش داده می شود . حتی اگر درون کنترل UpdatePannel دیگری قرار گرفته باشد .
     

    برخی موضوعات مشابه

    بالا