ورود

View Full Version : اجراي كد جاوا اسكريپت از سمت سرور پس از آنكه صفحه كا ملاَ لود شد



IFA_USER
یک شنبه 05 اردیبهشت 1389, 11:32 صبح
سلام
من يك صفحه با يك يوزر كنترل داريم
از داخل يوزر كنترل و در Page_Load آن كد

Page.RegisterClientScriptBlock("ChangeMode" + DateTime.Now.ToString(), "<script>ChangeMode();</script>");

در صفحه اصلي قرار دارد و با يكسري كنترل داخل صفحه كار مي كنه . كه من خطا دارم چو يوزر كنترل پيش از صفحه لود مي شه . ميشه كدي نوشت كه اين فراخواني پس ازلود تمام اجزاي صفحه فراخواني بشه.البته نه از روش setInterval .

سپاس
IFA

mehdi.mousavi
یک شنبه 05 اردیبهشت 1389, 12:53 عصر
سلام ميشه كدي نوشت كه اين فراخواني پس ازلود تمام اجزاي صفحه فراخواني بشه؟

سلام.
البته که میشه. اما قبل از اینکه به این سوال شما پاسخ بدم، اجازه بدید تا شما رو متوجه ایرادی که در کدتون وجود داره کنم. تابعی که شما برای ثبت کد JavaScript استفاده کرده اید، منقضی شده و دیگه نباید از اون استفاده کرد. جای کدی که نوشته اید، اینو بنویسید:


Page.ClientScript.RegisterClientScriptBlock(GetTyp e(), "changeMode" + DateTime.Now.ToString(), "window.onload = changeMode; function changeMode() {alert('page loaded');}", true);

بدین ترتیب دیگه نیازی نیست خودتون script tag رو بنویسید (پارامتر آخر که true گذاشتم یعنی خودش tag مزبور رو اضافه کنه).

اما در پاسخ به سوال اصلی شما، به کدی که گذاشتم دقت کنید. ایجنا دارم میگم، changeMode رو وقتی فراخوانی کن، که صفحه من load شده (یعنی window.onload)... بدین ترتیب هر وقت صفحه load بشه، تابع changeMode فراخوانی میشه.

موفق باشید.