PDA

View Full Version : چند سوال درباره ASP.NET



Majid2003
دوشنبه 14 مهر 1382, 05:01 صبح
با سلام خدمت تمامی عزیزان و برنامه نویسان محترم
چند تا سوال داشتم:
1-اول اینکه به طور تخصصی چه فرقی بین کنترل های HTML(در toolbox در قسمت HTML)و کنترل های ASP (در Toolbox در قسمت web forms)وجود دارد؟یعنی فرق بین یک ASP Submit button با یک HTML Submit Button (یا لیبل ها ویا تکست باکس ها)در چیست؟
2-آیا باید تا جایی که میتوان از کنترلهای HTML استفاده کرد و در صورت ضرورت از ASP کنترلها؟ یا اینکه هیچ فرقی نمیکنه؟ به هر حال استفاده از کدوم دسته بهتره؟ ویا هر کدام را باید کجا استفاده کرد؟
3-چه طور میشه از توی کد به کنترل های HTML دسترسی داشت و مقادیر آنها را مورد ارزیابی قرارداد ؟ آیا این کنترلها دارای Event هم هستند؟ چه طور میشه به این Eventها دسترسی پیدا کرد؟
4-کنترل های که طرف سرور اجرا میشه(Runat=server)با کنترل های طرف کلاینت چه فرق و کاربردی داره؟
*5-چه جوری میشه در یک وب فرم یه متن معمولی نوشت بدون هیچ تگ خاصی فقط یه متن معمولی البته در حالت Design, نه در حالت HTML.(یه متن معمولی مثل اینکه بخواهیم یه Welcom ساده بنویسیم ,دقت کنید که من نه از لیبل میخوام استفاده کنم نه از هر تگ دیگه ای)
*6-چه طور میشود به Server objects & events دسترسی پیدا کرد(مثل reguest,session و یا response)و(Session_end , Sessoin_Start و...)البته در یک وب فرم.مثلا به Client Object & events خیلی راحت دسترسی دلریم.
*7-چرا وقتی در حال طراحی سایت و کشیدن کنترل ها هستیم(در حالت Design) یه دفعه تمام کنترل ها قفل میکنه و دیگه نمیشه محل اونها رو تغییر داد.(معمولا وقتی در حال رسم کنترل های HTML هستم این اتفاق می افته!!)
* سوالاتی که با ستاره علامت گذاشتمو اگه جواب نداید هم خیلی نیست خیلی مهم نیست.
آقا شرمنده سر خودم داره گیج میره چه برسه به کسی که میخواد اینها رو جواب بده!! :oops: به هر حال ما هم این راهکار رو به عنوان آخری به کار بردیم !! آخه کسی نیست که جواب ما رو بده امید من هم به شماست!! :roll:
امیدوارم که همیشه پیروز و سربلند باشید
متشکرم

Vahid_Nasiri
دوشنبه 14 مهر 1382, 20:30 عصر
مطابق قوانین سایت در هر تاپیک فقط یک سوال باید مطرح شود.

------------



1-اول اینکه به طور تخصصی چه فرقی بین کنترل های HTML(در toolbox در قسمت HTML)و کنترل های ASP (در Toolbox در قسمت web forms)وجود دارد؟یعنی فرق بین یک ASP Submit button با یک HTML Submit Button (یا لیبل ها ویا تکست باکس ها)در چیست؟


کنترل های HTML صرفا برای حفظ سازگاری با asp قبلی به شکل صوری ارائه شده اند و توصیه می شود از آنها تا حد ممکن استفاده نکنید.
کنترل های وب از دات نت فریم ورک مشتق شده اند ولی کنترل های HTML همان المان های HTML معمولی هستند.
کنترل های وب خاصیت حفظ حالت دارند برعکس کنترل های HTML .
و ........




2-آیا باید تا جایی که میتوان از کنترلهای HTML استفاده کرد و در صورت ضرورت از ASP کنترلها؟ یا اینکه هیچ فرقی نمیکنه؟ به هر حال استفاده از کدوم دسته بهتره؟ ویا هر کدام را باید کجا استفاده کرد؟


همانطور که عرض کردم تقدم با وب کنترل ها است و کنترل های HTML صرفا محض سازگاری با نگارش های قدیمی ارائه شده اند.



3-چه طور میشه از توی کد به کنترل های HTML دسترسی داشت و مقادیر آنها را مورد ارزیابی قرارداد ؟ آیا این کنترلها دارای Event هم هستند؟ چه طور میشه به این Eventها دسترسی پیدا کرد؟


باید روی آنها کلیک راست کنید و سپس Run at server را تیک بزنید (سرور ساید)
کلاینت ساید : همان برنامه نویسی اسکریپتی معمولی مانند جاوا اسکریپت و چیزی بیشتر هم نیست.



4-کنترل های که طرف سرور اجرا میشه(Runat=server)با کنترل های طرف کلاینت چه فرق و کاربردی داره؟


کنترل های سمت سرور برای برهم کنش و فرستادن اطلاعات به سرور طراحی شده اند. کنترل هایی که تگ run at server ندارند در همان مرورگر وب عملکردشان خلاصه می شود. مانند نمایش دادن افکت های تصویری و غیره ....




*5-چه جوری میشه در یک وب فرم یه متن معمولی نوشت بدون هیچ تگ خاصی فقط یه متن معمولی البته در حالت Design, نه در حالت HTML.(یه متن معمولی مثل اینکه بخواهیم یه Welcom ساده بنویسیم ,دقت کنید که من نه از لیبل میخوام استفاده کنم نه از هر تگ دیگه ای)


نمی شود. چون شما از *هیچ* ابزاری نمی خواهید استفاده کنید!




*6-چه طور میشود به Server objects & events دسترسی پیدا کرد(مثل reguest,session و یا response)و(Session_end , Sessoin_Start و...)البته در یک وب فرم.مثلا به Client Object & events خیلی راحت دسترسی دلریم.


درمورد فایل global.asax در گوگل تحقیق کنید.



*7-چرا وقتی در حال طراحی سایت و کشیدن کنترل ها هستیم(در حالت Design) یه دفعه تمام کنترل ها قفل میکنه و دیگه نمیشه محل اونها رو تغییر داد.(معمولا وقتی در حال رسم کنترل های HTML هستم این اتفاق می افته!!)


این محیط طراحی هنوز بتا ورژن است و در مراحل تکاملی خودش به سر می برد!

Abbas Arizi
دوشنبه 14 مهر 1382, 20:33 عصر
کنترل های HTML صرفا برای حفظ سازگاری با asp قبلی به شکل صوری ارائه شده اند و توصیه می شود از آنها تا حد ممکن استفاده نکنید
میتونم پرسم دلیل این توصیه چیه؟ چون من خودم احساس میکنم با کنترلهای HTML خیلی راحت تر هستم. به خصوص اینکه کنترلهای asp.net هم برای ارسال به سرویس گیر تبدیل به همون کنترلهای HTML میشن؟

Vahid_Nasiri
دوشنبه 14 مهر 1382, 20:58 عصر
بسیاری از کنترل های وب مانند دیتاگرید و غیره در کنترل های HTML‌ یافت نمی شوند
دیتابایندینگ مطلب مهمی است که در مورد کنترل های HTML چون از دات نت فریم ورک مشتق نشده اند به این سادگی ها میسر نیست.
کنترل های وب می توانند در راند تریپ!! بین صفحات مقادیر را حفظ کنند ولی کنترل های HTML خیر و باید حتما برای آنها برنامه نویسی کرد.
کنترل های وب به صورت خودکار نوع مرورگر را تشخیص می دهند و خود را هماهنگ می کنند ( جزو ذات asp.net است) . چنین چیزی به صورت خودکار در مورد کنترل های HTML وجود ندارد.
کنترل های وب از دات نت فریم ورک مشتق شده اند (همانطور که عرض شد)

و مهمترین دلیل مایکروسافت برای ارائه ی مجدد آنها این است که انتقال از asp قبلی به asp.net برای کدهای موجود به سادگی صورت گیرد.

(برنامه نویسی سمت سرور را داریم بحث می کنیم و گرنه بله نهایتا همه ی آنها به المان های HTML که استاندارد جهانی در مورد آنها وجود دارد تبدیل می شوند)

Abbas Arizi
دوشنبه 14 مهر 1382, 21:06 عصر
ضمن تشکر و سپاس از شما. پس با این تفاصیل در مورد کنترلهایی مثل Button و Label و به خصوص Table و ... که نیاز چندانی به این مزایایی که برای کنترلهای ASP.NET برشمردید ندارند، تفاوت چندانی وجود نداره و برای کنترل اونها از طریق Server side scripting هم میتونیم از ویژگی RunatServer استفاده کنیم. درسته؟

Vahid_Nasiri
سه شنبه 15 مهر 1382, 23:07 عصر
بله!
البته این مهم است که شما از چی خوشتون می یاد و گرنه بقیه اش حرف است!!

Abbas Arizi
سه شنبه 15 مهر 1382, 23:34 عصر
:wink: :oops: