PDA

View Full Version : سوال: لود قسمتی از صفحه با AJAX ، فوری



farrokhpey.mahdi
سه شنبه 03 دی 1387, 09:51 صبح
سلام دوستان
مطمئنا در این رابطه بحثهای زیادی رو مطرح کردن و جواب هم داده شده اما من قصد دارم سایت مثل سایت میهن نیک (http://www.mihannic.com) طراحی کنم ، به این صورت که با کلیک روی لینکهای مختلف همه چیز ثابت باشه ، در حین لود صفحه غیر فعال بشه ، عبارت " منتظر بمانید " ظاهر بشه و فقط در همون قسمتی که می خوام صفحه جدید لود بشه و باقی قسمتهای صفحه هیچ تغییری نکنه .
برای دیدن نمونه کار به همین سایت میهن نیک (http://www.mihannic.com) مراجعه کنید .
با توجه به تخصصهای شما عزیزان مطمئن هستم که جواب این سوال من رو خواهید داد .
در ضمن اگه کسی نمونه کاری به این شکل داره قرار بده ممنون میشم.

VisualStudio 2008 + ASP.Net 2.0 + C#.Net

منتظر جوابهاتون هستم

این هم ایمیل من Farrokhpey@GMail.com (Farrokhpey@GMail.com)

Behrouz_Rad
سه شنبه 03 دی 1387, 10:55 صبح
ساده ست. از یک Generic Handler استفاده کن. با AJAX، درخواست هایی رو با پارامترهای مختلف به این Generic Handler بفرست و از سمت سرور، کد JS و HTML مورد نیاز رو به کلاینت بفرست.
نمونه کد ندارم.

موفق باشید.

farrokhpey.mahdi
سه شنبه 03 دی 1387, 11:30 صبح
از جوابی که دادید ممنون ولی یه مقدار گنگ بود
یه سمپل میتونید برام بسازید یا کدش رو همینجا قرار بدین یا یه نمونه معرفی کنید ؟

farrokhpey.mahdi
سه شنبه 03 دی 1387, 15:41 عصر
کسی میتونه کمک اساسی کنه ؟
من گیرائیم خیلی پائینه ، یه سمپل کسی میتونه ایجاد کنه ؟یه نمونه کد یا راهنمایی همراه با کدینگ ..
لطفا
به من سر بزنیــــد (http://www.itmavara.com)

farrokhpey.mahdi
جمعه 06 دی 1387, 12:30 عصر
خوب شد گفتم فوری
یعنی حتی یک نمونه کد کوچیک یا توضیح بزرگ کسی نداره
ممنون از همراهیتون

Behrouz_Rad
جمعه 06 دی 1387, 12:50 عصر
نمونه رو خودت بگرد در گوگل پیدا کن.
Generic Handler ها یک روال ProcessRequest دارن که هنگامی که درخواست ارسال میشه فراخوانی میشه. با AJAX، یک Query String که معرف قسمتی هست که قصد داری لود بشه به این هندلر ارسال کن، در کد هندلر، Query String رو بازیابی و کدهای مورد نظر رو به کلاینت بفرست. در سمت کلاینت، با AJAX، کدها رو دریافت و با جاوا اسکریپت در جای مورد نظر قرار بده.

موفق باشید.

ennovation
شنبه 07 دی 1387, 22:13 عصر
سلام
این هم دو نمونه کد
http://www.brainbell.com/tutorials/ASP/Generic_Handlers_(ASHX_Files).html
http://www.cerkit.com/cerkitBlog/2005/05/05/DynamicTitleGenerationUsingAGenericHandlerInASPNET 20.aspx

farrokhpey.mahdi
شنبه 21 دی 1387, 10:10 صبح
جناب آقای راد ، با تشکر از شما و دوستان تونستم عمل لود رو با این روش انجام بدم ، حالا میخوام بدونم اگه بخوایم با کمک این روش عملیات دیگه ای مثل ثبت در دیتابیس رو انجام بدیم چطوریه مثلا یه فرم دارم و یک دکمه ثبت ، میخوام با زدن دکمه ثبت اطلاعات فرم رو با کمک این روش ثبت کنم ، میشه ؟

Behrouz_Rad
شنبه 21 دی 1387, 10:49 صبح
تو رو خدا نگو با AJAX چجوری این کار رو انجام بدی که شونصد میلیون بار در این مورد تاپیک ایجاد شده. جستجو کن.

farrokhpey.mahdi
شنبه 21 دی 1387, 11:04 صبح
من ajax نمیخوام کار کنم تو سایت اما از این xmlHttpRequest میخوام استفاده کنم ، ajax که خیلی راحته اما من دنبال راه دیگه ای هستم آقای راد

Behrouz_Rad
شنبه 21 دی 1387, 11:58 صبح
در مورد XmlHttpRequest هم تاپیک زیاده. همین کلمه رو جستجو کن تا ببینی چقدر تاپیک در این مورد ایجاد شده.

amirjalili
شنبه 21 دی 1387, 12:29 عصر
دوست عزیز اول در مورد اینکه موقع لود صفحه غیر فعال میشه به این صورت عمل کنید که تا وقتی که اطلاعات به طور کامل توسط ajax گرفته نشده یک div با alpha ی مشخص ظاهر میشه و به این صورت چیزهایی که در زیر اون قرار میگیره نافعال میشه...

در مورد کد ajax هم به این صورته که:



function getXmlHttpRequestObject()
{
if (window.XMLHttpRequest)
{
return new XMLHttpRequest(); //Not IE
}

else if(window.ActiveXObject)

{
return new ActiveXObject("Microsoft.XMLHTTP"); //IE
}

else
{
alert("Your browser doesn't support the XmlHttpRequest object. Better upgrade to Firefox.");
}

}


var receiveReq = getXmlHttpRequestObject();

function DataTransfer()
{

if (receiveReq.readyState == 4 || receiveReq.readyState == 0)
{

document.getElementById('آی دی جایی که میخواهید اطلاعات گرفته شده در آن قرار گیرد').innerHTML="<div id='LoadingGif' style='display:block;margin-top:30px; margin-left:50px;' class='Font'><img src='images/25-0.gif' /><br />please wait...</div>";


receiveReq.open("GET",'نام صفحه ای که اطلاعات به آن صفحه ارسال میشود', true);

receiveReq.onreadystatechange = handleDataTransfer;

receiveReq.send(null);

}

}


function handleDataTransfer()
{
if (receiveReq.readyState == 4)
{
// alert(receiveReq.responseText);
document.getElementById('div1').innerHTML = receiveReq.responseText;

}

}

farrokhpey.mahdi
دوشنبه 21 بهمن 1387, 08:55 صبح
دوستانی که به این تاپیک پاسخ دادن ، از همه شما متشکرم ، خیلی مفید بود
اما یه سوالک دیگه هم پیش اومده تازگیا !!! ، ارسال و دریافت اطلاعات با xmlHttp بی مشکل انجام شد ، اما طریقه مخفی شدن این کذها رو کی میدونه ، مثل همین سایت میهن نیک ، وقتی روی لینک یک خبر کلیک می کنید ، متن خبر بارگذاری میشه ، اما توی کد صفحه هیچ کد AJAX مشاهده نمیشه ، فایلهای جاوا هم قابل دسترسی نیست ، راهنماییهاتون رو دریغ نکنید دوستان ، پیشاپیش مــــــرسی