PDA

View Full Version : اجرای script بدون رفرش شدن صفحه



mmm201
جمعه 13 شهریور 1394, 22:46 عصر
سلام چطور باید یه کد اسکریپت مثل این رو بدون رفرش شدن صفحه نمایش داد




<script src="http://www.varzesh3.com/standingforsites.do?league=IranBartar&a2header=ّّّFFFFFF&aheader=FFFFFF&trheader=4FCB45&row1=FFFFFF&tr2header=686868&row2=dbdbdb&width=170&show=1110000001&border=1&bc=dbdbdb"
type="text/javascript" language="javascript">







این یک نمونه هست که جدول رده بندی لیگ برتر رو نشون میده حالا جداول لیگ ها ی دیگه رو که با DropDownList بخوای نشون بدی نیاز هست که یه بار صفحه رفرش بشه تا این اسکریپت اجرا بشه من از update panel استفاده کردم که همون لحظه نشون بده حالا یه کد ajax باید باشه که اون اسکریپ رو بدون رفرش شدن صفحه نشون بده

کسی اطلاعی داره چظور باید ازش استفاده کرد ؟

pbm_soy
شنبه 14 شهریور 1394, 02:17 صبح
راحتترین راه اینه که این کر به عنوان سورس یک فریم در صفحه html بدید یعنی در بخشی از صفحه یک فریم بگذارید و سورس آنرا این آدرس این کد بگذارید

راه دیگر هم که خودتان گفتید ajax بهترین کاری است که میتوانید انجام دهید
اجکس را میتوانید با استفاده از توابع نوشته شده بصورت سطح پایین استفاده کنید
ویا اینکه از کنترلهای اجکسی asp .net استفاده کنید متاسفانه ویژوال استودیو الان دم دست ندارم تا دقیق بگم ولی مواردی که لازم داریم به این ترتیب است
یک script manager لازم دارید که در ابتدای صفحه قبل از تمام کنترلها قرار بدید
سپس یک update panel برای نمایش خروجی پردازش سمت سرور است در این پنل شما یک لیبل یا لیترال و یا هرچیزی که میخواهید خروجی را در آن نمایش دهید را میگذارید و یک باتن برای دستور دادن اینکه برود محتوی را از سایت مورد نظر بگیرد و در لیبل بالا نمایش دهد البته در کنار باتن یک تصویر کوچک متحرک هم بگذارید بصورت مخفی وقتی کاربر باتن را میزند انرا نمایش دهید وسپس محتوی را از آدرس آن جاوااسکریپت بگیرید و نمایش دهید در لیبل و سپس تصویر را مخفی کنید
فقط یک نکته تنها راهی که برای گرفتن اطلاعات از سایت دیگر توسط آن باتن الان بنظرم میرسد این است که با استفاده از http client , http request , http response اینکار را انجام دهید اینایی که گفتم جزو کلاسهای دات نت هستند برای فرستادن یک درخواست به یک آدرس وب سایت ویا وب سرویس و گرفتن نتیجه از آنها
برخی مواقع نتیجه برگشتی بافرمتهای خاصی است معمولا یا html , xml , json خروجی میدهند اگه html باشد که مستقیم میتوانید در لیبل نمایش و درغیراینصورت مجبورید خروجی را تفسیر کنید وتبدیل کنید به html وبدید به لیبل

pbm_soy
شنبه 14 شهریور 1394, 02:29 صبح
در ضمن بد نیست این را هم بگم مسیر آن دو کلاس برای خواندن داده های سایت دیگر
System.net.httpwebrequest
System.net.httpwebresponse
شما به ایندو کلاس احتیاج پیدا میکنید البته اگه مسیر اسامی درست یادم مانده باشد البته شاید هم ایندو در مسیر زیر باشند
System.web.httpwebresponse
System.web.httpwebrequest
البته برای خواندن محتوای برگشتی هم نیاز به استفاده از streamreader خواهید داشت

آنطوری که کد جاوااسکریپت شما پیداست احتمالا خروجی بصورت html است و حتی میتوانید با ارسال مقدایر دلخواه برای تنظیم خروجی مانند رنگ و فونت و کادر و حاشیه غیره به عنوان پارامتر به سایت موردنظر میتوانید خروجی دلخواه خود را بگیرید
دقیقا مقدار رشته ای که جلوی src وجود دارد را به عنوان آدرس و یا درخواست به httpwebrequest باید بدهید

mmm201
شنبه 14 شهریور 1394, 20:40 عصر
ممنون از پاسختون من اینکارو از طریق http request امتحان کردم که برای این مورد مناسب نیست چون از اسکریپت استفاده شده وقتی مستقیم ادرس وارد بشه به این شکل در میاد

http://www.varzesh3.com/standingforsites.do?league=IranBartar&a2header=ّ� �ّFFFFFF&aheader=FFFFFF&trheader=4FCB45&row1=FFFF FF&tr2header=686868&row2=dbdbdb&width=170&show=111 0000001&border=1&bc=dbdbdb" (http://www.varzesh3.com/standingforsites.do?league=IranBartar&a2header=ّ� �ّFFFFFF&aheader=FFFFFF&trheader=4FCB45&row1=FFFF FF&tr2header=686868&row2=dbdbdb&width=170&show=111 0000001&border=1&bc=dbdbdb&quot;)