PDA

View Full Version : سوال: دیر بازشدن سایت من



dr_g
سه شنبه 30 آذر 1389, 13:58 عصر
سلام
سایتی به آدرس http://gofteman.mydiplomat.ir/Default.aspx طراحی کردم.درواقع یه انجمنه.اما نمی دونم چرادیر باز میشه.خیلی طول می کشه تا صفحه Default باز بشه.تو form_load صفحه default هم کدی زیادی نیست.بانکش sql هستش.تو صفحه default دوتا گرید که با sqldatasource پرمیشن.تو page_load مسترپیچ هم یه سری کوئری نوشتم.می توونین علتشو حدس بزنین.منتظرراهنمایی شما هستم

mehrdad201
سه شنبه 30 آذر 1389, 14:26 عصر
احتمالش هست که گریدهای شما خاصیت EnableViewState رو True داشته باشن و این باعث سنگین شدن صفحه میشه

mmnoody2006
سه شنبه 30 آذر 1389, 19:23 عصر
خیلی کنده .

برای نمایش اطلاعات از gridview استفاده کردی با viewstat اوه اوه ..... :متعجب:

حجم viewstat صفحه رو دیدی . :قهقهه:

بهتره از ریپرتر استفاده کنی view stat رو هم false کنی + کش :لبخند:

تو فایرفاکس راست کلیک کن page info بزن ببین حجم صفحه شده 549 کیلو بایت اونوقت توقع داری زود بیاد بالا :بوس: :تشویق:

mehrdad201
سه شنبه 30 آذر 1389, 20:29 عصر
دقیقا. همونطور که من هم فکر میکردم. این گرید ویوهاش پدر صفحه رو در اورده.

در ضمن استفاده از اسکریپت منیجر یا اجاکس تولکیت ها هم باعث افزایش حجم صفحه میشن

dr_g
چهارشنبه 01 دی 1389, 01:11 صبح
خیلی کنده .

برای نمایش اطلاعات از gridview استفاده کردی با viewstat اوه اوه .....

حجم viewstat صفحه رو دیدی . :قهقهه:

بهتره از ریپرتر استفاده کنی view stat رو هم false کنی + کش
تو فایرفاکس راست کلیک کن page info بزن ببین حجم صفحه شده 549 کیلو بایت اونوقت توقع داری زود بیاد بالا


ممنون بابت راهنماییتون.EnableViewState گریدویوهارو false کردم.بهترشد.دوستان یه باردیگه سایتو باز کنن بیبنن بهتر شده یا نه؟ منظورتون از کش چی بود؟چیکاربایدکنم؟

aminghaderi
چهارشنبه 01 دی 1389, 02:03 صبح
باریکلا ، با این که اولین تجربه هست ، خیلی خوب کار کردین.
تبریک می گم.
اولین وبسایتی که ساختم کسی نبود که بهم بگه اون وسط سایت رو میشه با گرید ویو یا لیست ویو و ... در اورد ، برای همین باعث شد تا بنده مجددا چرخ رو اختراع کنم و طرحی ریختم و یه گرید کاملا شخصی ساختم و پدر مان کاملا در امد...:کف:
و وبسایت اول همیشه تلخی و شدت زجر کشیده شده در طلب علم رو به خاطر می یاره و البته یادش شیرینه ، چون تلخیش رفته:چشمک: .

موفق باشید.

dr_g
چهارشنبه 01 دی 1389, 02:17 صبح
باید SQLDatasource.EnableViewState باید true باشه یا false؟ خصوصیت EnableCaching چی؟ باید true باشه یا false?

Vahid_moghaddam
چهارشنبه 01 دی 1389, 09:34 صبح
ممنون بابت راهنماییتون.EnableViewState گریدویوهارو false کردم.بهترشد.دوستان یه باردیگه سایتو باز کنن بیبنن بهتر شده یا نه؟ منظورتون از کش چی بود؟چیکاربایدکنم؟

Caching به طور کلی دو بخشه: cache کردن صفحه ها برای کاهش پردازش درخواست ها و cache کردن Data برای کاهش ارتباط و واکشی داده از Database
شخص معتبری (که اسمش یادم رفته! ) می گه اگه یه اسلحه رو سر من بذارند و بگن در 5 دقیقه (یا شاید بیشتر. اینو هم یادم رفته!) سایت رو بهینه کن، به اولین چیزی که فکر می کنم caching هست.
این مبحث، مفصله اما اصلا پیچیده و سخت نیست. اصول کلیش اینه: زمانی اطلاعات رو می گیریم که واقعا بهش احتیاج باشه. یعنی اگه یه table رو خوندیم، وقتی دوباره بخونیمش که تغییر کرده باشه.
می تونید به کتاب های asp.net مراجعه کنید یا به مقالات انگلیسی و یا در همین سایت جستجو کنید. نوشته های بسیار خوبی وجود داره.

ابزاری وجود داره به اسم FireBug که از افزونه های FireFox هست. این ابزار رو دانلود و نصب کنید. حجم هر درخواست و زمان اون رو به اضافه اطلاعات بسیار کاملی درباره صفحه درخواست شده، به شما ارائه می ده. با این ابزار می تونید بفهمید چه آیتم هایی سنگین هستند. روی این ابزار، ابزار دیگه ای نصب می شه به اسم ySlow (از yahoo) که یه سری تست انجام می ده و پیشنهاداتی ارائه می ده برای بالاتر رفتن سرعت اجرا.

شاد باشید

dr_g
چهارشنبه 01 دی 1389, 15:33 عصر
دوستان کمکم کنن.واسم خیلی مهمه

باید SQLDatasource.EnableViewState باید true باشه یا false؟ خصوصیت EnableCaching چی؟ باید true باشه یا false?

mehrdad201
چهارشنبه 01 دی 1389, 15:59 عصر
یه نکته رو بگم.

خیلی جاها در وبسایت از table tr td استفاده شده

اینها رو میتونی با div جایگزین کنی. باید با css اشنایی داشته باشید

حجم صفحه ات میتونه کمتر هم بشه اما خیلی بهتر دشه

mmnoody2006
چهارشنبه 01 دی 1389, 17:14 عصر
دوست عزیز معلومه که بهتر شده :شیطان:

بعد هم که گفتم از ریپرتر استفاده کن :عصبانی++:

کش رو هم توضیح داده شد ه :تشویق:


باید SQLDatasource.EnableViewState باید true باشه یا false؟

نه نباید false کنی :عصبانی:


خصوصیت EnableCaching چی؟ باید true باشه یا false?

بستگی به خودت داره که بخای از کش استفاده کنی یا نه البته این نوع کش در فروم ها کمی دقت می خاد :لبخندساده:


خیلی جاها در وبسایت از table tr td استفاده شده

از css freandly استفاده کن این کار gridview شما رو به سبک خاصی ویرایش می کنه البته در کد های html :لبخند:

دیشب سایت یه دوستی رو بهینه کردم که یه ریپرتر داشت فقط با یک کلیک حجم صفحه رو از 139 کیلو بایت به 79 کیلو بایت رسوندم :متعجب: می دونید چی کار کردم :متفکر: فقط viewstat رو برای ریپرتر false کردم همین ! :قهقهه:

dr_g
چهارشنبه 01 دی 1389, 20:39 عصر
داداش تو کارت درسته.خط به خط احساساتت عوض میشه ها.چیکارت کنم که هم استانی خودمی.
یه سوال دیگه:
تو گریدویو از LinkButton استفاده کردم.چون خاصیت CommandArgumant داره که ازش استفاده کردم.اما روش که کلیک راست میکنی گزینه Open in new tab و Open in new window غیرفعاله.چیکارباید کنم؟Hayperlink هم مکه خاصیت CommandArgumant نداره که ازش استفاده کنم.:ناراحت:

طبیب دل
پنج شنبه 02 دی 1389, 10:53 صبح
احتمالش هست که گریدهای شما خاصیت EnableViewState رو True داشته باشن و این باعث سنگین شدن صفحه میشه
میشه کار EnableViewState رو توضضیح بدین اگه false باشه با true چه فرقی میکنه؟

aserfg
پنج شنبه 02 دی 1389, 12:03 عصر
دوست عزیز کش کردن اطلاعات جداول در فروم زیاد کار درستی نیست . ولی کش فایلها (output cache) رو انجام بدین .

mehrdad201
پنج شنبه 02 دی 1389, 12:33 عصر
میشه کار EnableViewState رو توضضیح بدین اگه false باشه با true چه فرقی میکنه؟

دوست عزیز بهتر بود یه سرچی میکردید ....

اما در کل بگم view state مقدار کنترل های سرور ساید رو در خودش نگه میداره تا وقتی صفحه post back میشه مقادیر رو بتونه باز یابی کنه.

وقتی صفحه شما رفرش میشه ، در حقیقت صفحع از نو ساخته میشه. برای اینکه مقادیر لیبل ها ، گریدها و ...... (کنترل های سرور ساید مثل تکست باکس یا ..... ) از بین نرن. این مقادیر در view state ذخیره میشن تا بعد از post back شدن دوباره خونده شده و کنترل های مربوطه مقدار دهی بشن

برای ازمایش کافیه خاصیت view state رو برای چند کنترل سرور ساید بردارید

dr_g
پنج شنبه 02 دی 1389, 12:34 عصر
تو گریدویو از LinkButton استفاده کردم.چون خاصیت CommandArgumant داره که ازش استفاده کردم.اما روش که کلیک راست میکنی گزینه Open in new tab و Open in new window غیرفعاله.چیکارباید کنم؟Hayperlink هم مکه خاصیت CommandArgumant نداره که ازش استفاده کنم.:ناراحت:

میشه راهنماییم کنین؟درضمن من ازرپیتر هم استفاده کردم.اما وقتی viewstate =flase دیگه رویداد ItemCommnad عمل نمکینه:ناراحت:

mmnoody2006
پنج شنبه 02 دی 1389, 19:40 عصر
دوست عزیز کش کردن اطلاعات جداول در فروم زیاد کار درستی نیست . ولی کش فایلها (output cache) رو انجام بدین .

موافق نیستم می شه استفاده کرد ولی خیلی پیشرفته و با استفاده از لایه چهارم و کد نویسی پیشرفته . البته سخته ولی ....


میشه راهنماییم کنین؟درضمن من ازرپیتر هم استفاده کردم.اما وقتی viewstate =flase دیگه رویداد ItemCommnad عمل نمکینه
:متعجب: برادر ریپرتر فقط برای نمایش اطلاعات به کار می ره ولی من متوجه نشدم برای فروم چرا به ItemCommnad احتیاج داری ؟ :متفکر:

mehrdad201
پنج شنبه 02 دی 1389, 20:35 عصر
مشکل اکثر ما اینه که قبل از اینکه موضوع برنامه ، اهداف و سیاستها و روشهای دستیابی به اهداف رو مشخص کنیم. میریم سراغ کد نویسی . در حالیکه کد نویسی باید مرحله اخر ما باشه.

اول از همه بای معلوم بشه که هدف از سایت یا برنامه ما چیست ؟ روی کاغذ بنویسیم و نقشه رو رسم کنیم. بعد ببینیم برای اون اهداف چه ابزارهایی مورد نیازه. و در اخر بیایم روی کد نویسی.

متاسفانه اکثر ما (خود من اوائل این گیر رو داشتم شدید) اول کار میریم سراغ کد بعد میبینیم ای بابا ، با این ابجکت که نمیشه ، پس دوباره از نو شروع میکنیم. الان شما دقیق بیا بگو که چرا از گرید ویو استفاده کردی ؟ برای چه هدفی ؟

dr_g
پنج شنبه 02 دی 1389, 21:36 عصر
برادر ریپرتر فقط برای نمایش اطلاعات به کار می ره ولی من متوجه نشدم برای فروم چرا به ItemCommnad احتیاج داری ؟ :متفکر:

میخوام رو عنوان هر درس که کلیک کردم بره صفحه مربوطه وتاپیکاشو نشون بده
مثلا


if (e.CommandName == "subject")
{
int code = Convert.ToInt32(e.CommandArgument);
Response.Redirect("forumdisplay.aspx?f=" + code);
}

mehrdad201
جمعه 03 دی 1389, 13:38 عصر
شما به جای اینکه تو رویداد ها عملیات ریدایرکت رو فراخوانی کنی

یه هایپرلینک بذارو خصوصیات تکست و یو ار ال رو بایند کن به پراپرتیهای دیتابیست

اینکه راحت تره

کد نویسی هم نداره

Vahid_moghaddam
جمعه 03 دی 1389, 18:03 عصر
میخوام رو عنوان هر درس که کلیک کردم بره صفحه مربوطه وتاپیکاشو نشون بده
مثلا


if (e.CommandName == "subject")
{
int code = Convert.ToInt32(e.CommandArgument);
Response.Redirect("forumdisplay.aspx?f=" + code);
}

برای این مورد آیا نیاز داریم یه رفت و برگشت به سرور انجام بدیم؟ قطعا نه. این کارو همونطور که گفتن با لینک انجام بدید. ID رو با query string بفرستید به صفحه مورد نظر.

mmnoody2006
جمعه 03 دی 1389, 20:44 عصر
شما به جای اینکه تو رویداد ها عملیات ریدایرکت رو فراخوانی کنی

یه هایپرلینک بذارو خصوصیات تکست و یو ار ال رو بایند کن به پراپرتیهای دیتابیست

اینکه راحت تره

کد نویسی هم نداره

این برادرمون کاملا درست می گه این کارو براحتی بوسیله Eval جون :قلب: انجام بده

parlous
شنبه 24 دی 1390, 12:20 عصر
سلام لطفا راهنمایی کنید که چطور open in new tab و open in new window را فعال کنم در c#.net . خیلی ضروریه. ممنون.

crazy_1892
شنبه 24 دی 1390, 15:16 عصر
http://barnamenevis.org/showthread.php?53564-%D9%85%D8%B4%DA%A9%D9%84-%D8%AF%D8%B1-%D9%85%D9%88%D8%B1%D8%AF-%28%29window.open%28%29-window.close

aminghaderi
شنبه 24 دی 1390, 15:26 عصر
جمعه 03 دی 1389 17:33 عصر
دوستان تاپیک یک سال پیش رو زنده نمی کنند ، یک تاپیک جدید بزنید .
امروز :

شنبه 24 دی 1390 14:46 عصر