PDA

View Full Version : ASP.NET 2.0



Vahid_Nasiri
چهارشنبه 08 مهر 1383, 21:08 عصر
سلام

هدف از این تاپیک و ادامه آن در روزهای آتی معرفی و بررسی امکانات اضافه شده و یا تغییر کرده در ASP.NET جدید می باشد.


----------------------------**********************-----------------------

مقاله ای جالب در مورد بحث امنیتی اضافه شده به ASP.NET 2.0 :

ASP.NET 2.0 Security
http://www.sitepoint.com/article/asp-net-2-security/1
http://www.sitepoint.com/article/asp-net-2-security/2

----------------------------**********************-----------------------

اظهار نظر رسمی در مورد تغییرات انجام شده در نگارش بتا2 ای اس پی دات نت 2 :
http://www.asp.net/Forums/ShowPost.aspx?tabindex=1&PostID=667498


خلاصه آن (موارد تغییر کرده در بتا2):

- کنترل های موبایل اضافه شده به ای اس پی دات نت 2 (بتا یک) از نگارش جدید (بتا 2 ) حذف شده اند و همان کنترل های سابق موجود در System.Web.Mobile.dll توصیه می شوند.
- کنترل های جدید Site counters, DynamicImage Control, and the Image Generation Service نیز حذف شدند و بعد از تست های بیشتر احتمالا در نگارش های آتی ارائه خواهند شد.
- کنترل WebPartPageMenu Control اضافه شده است. این کنترل شبیه دارپ داون لیست هایی است که در سایت Sharepoint مورد استفاده قرار گرفته است.
- به شدت بر روی یکپارچگی اس کیوال سرور جدید و Access Data Providers محیط دات نت در جهت بالا بردن کارآیی کار شده است.
- کنترل جدید DataSetDataSource - که بایند کردن مستقیم به داده هایی از نوع XML را فراهم می کند - ارائه شده در بتایک نیز حذف خواهد شد (بدلیل اینکه مشابه آن در دات نت فریم ورک وجود داشته و نیازی به این مورد پس از بررسی حس نمی شده)
- در VS.NET ‌جدید به صورت از پیش مهیا شده هیچ قالبی در جهت زیبا سازی صفحات ارائه نخواهد شد تا توسعه گران در جهت به اشتراک گذاشتن Global themes بیشتر مساعدت نمایند (در مورد theme ها در VS.NET جدید کارهای زیادی صورت گرفته است (Templating, Theming, the Portal Framework) که در روزهای آتی بیشتر در مورد آنها بحث خواهد شد).
- در جهت تکمیل تر کردن بحث Administrative console ارائه شده در بتایک کار بیشتری صورت نگرفته است (در نگارش جدید با استفاده از WebAdmin.axd می توان به یک پنل مدیریتی جهت کار با فایل کانفیگ برنامه بدون نیاز به مراجعه مستقیم به روت برنامه ، دست یافت ( برای مثال : http://localhost/myApp/WebAdmin.axd ) . در این مورد به مقاله ای که در بالا در مورد بحث امنیتی معرفی شد می توان مراجعه کرد.)


----------------------------**********************-----------------------

تذکر : هر گونه آف تاپیکی (منجمله تشکر کردن) حذف خواهد شد.

Vahid_Nasiri
چهارشنبه 08 مهر 1383, 21:15 عصر
Visual studio 2005 express edition beta

J# redist (http://download.microsoft.com/download/b/3/4/b34f6e5a-5ae8-4aec-b3dd-d1d0e0af8fac/vjredist.exe)
Visual Basic (http://download.microsoft.com/download/3/f/5/3f52b37c-92a4-4ce0-9de0-0376165e5461/vbsetup.exe)
Visual C# (http://download.microsoft.com/download/8/c/7/8c784f26-8e95-43b9-90b9-56b511220dfb/vcssetup.exe)
Visual J# (http://download.microsoft.com/download/f/4/c/f4c0f69b-ced6-46b3-8d5a-855882a1a0a8/vjssetup.exe)
Visual Web Developer (http://download.microsoft.com/download/6/e/1/6e1e9b98-928c-45f0-b44b-39f205090446/vwdsetup.exe)
Visual C++ (http://download.microsoft.com/download/1/f/9/1f9c364a-7835-426f-a12e-238bdf8e3ebf/vcsetup.exe)
MSDN Express (http://download.microsoft.com/download/d/5/f/d5fbf037-59b9-4906-b20b-de5dd544de12/msdnixp.exe)

Vahid_Nasiri
پنج شنبه 09 مهر 1383, 12:10 عصر
مروری کاربردی و اولیه بر نصاب دات نت فریم ورک 2 و همچنین محیط Visual Web Developer 2005 Express Edition Beta :


نصاب دات نت فریم ورک 2 :

یکی از مشکلاتی که در نصاب های دات نت فریم ورک های قبلی وجود داشت ، عدم امکان نصب مجدد آنها به صورت معمولی است. حتما کسانی که پس از نصب دات نت فریم ورک 1.1 ، IIS را نصب کرده اند می دانند که به چه صورت باید از طریق خط فرمان مجددا دات نت فریم ورک را به IIS نگاشت کرد (Mapping) و یا چگونه باز هم از طریق خط فرمان نصاب دات نت فریم ورک را مجددا وادار به نصب کرد. اما در نصاب دات نت فریم ورک 2 تمام این موارد پیش بینی شده و خوشبختانه گزینه ی repair پس از اجرای مجدد آن نیز ظاهر می شود که کار نگاشت و غیره را اتوماتیک کرده. (حداقل 30 تاپیک در این بخش درباره ی این به ظاهر مشکل قدیمی وجود دارد)



Visual Web Developer 2005 Express Edition Beta :

- کار برنامه نویسی ASP.NET به این بسته ی نرم افزاری در نگارش جدید محول شده است.
- این نگارش در نگاه اول ترکیبی است از توانایی های web matrix (ادیتور مجانی ASP.net که در فوروم www.asp.net توسعه یافته است) که امکان برنامه نویسی مخلوط با تگ های HTML را فراهم می کند (inline code) و همچنین روش پیشین (code behind) که کد را از صفحات aspx جدا می سازد.
- با باز کردن یک پروژه ی جدید ، صفحه ی aspx ایی که ظاهر می شود به صورت پیش فرض بر روی حالت grid layout نیست (همانند ms front page 2003 شده است (چیزی که در نگارش قبلی VS.NET به شدت کمبود آن در طراحی صفحات احساس می شد)). به خواص صفحه ، گزینه های masterPageFile ، styleSheetTheme ، Theme و ... اضافه شده است (صنعتی تر کردن محیط ASP.Net).
- ادیتور سی شارپ آن به شدت بهبود یافته و خوش دست تر شده است! (حتما به تاپیک تازه های سی شارپ2 در بخش مربوطه در سایت مراجعه کنید تا با عناوینی مانند partial class از پیش آشنا باشید )
منوی جهنده هوشمند نمایش پارامترها و خواص آن کاملتر شده ( یادآوری :منویی جهنده که پارامترهای یک تابع را برای مثال هنگام تایپ آن نمایش می دهد) و حتی در هنگام تعریف نوع یک متغیر سی شارپ هم ظاهر می شود (به نظر این مورد از تجربه موفق محیط ادیتور VB6 اقتباس شده است).
- هنگام کامپایل کردن از وب سرور built-in استفاده می کند و کاری به IIS ندارد (همین مورد به ظاهر ساده نیاز شما را به مطالعه مقاله "خطاهای متداول در ASP.NET و روش های حل آنها" بر طرف می کند (جذب تعداد کاربران بیشتر و کاهش سردردها!) ). برای نمونه پروژه ی شما در یک چنین آدرسی اجرا می شود : http://localhost:6155/WebSite3
- تعدادی کنترل جدید به تولبار آن اضافه شده (هر چند در بتا2 تعدادی از آنها مانند کانتر و غیره حذف شدند). (این مورد در طی مقالاتی بررسی خواهند شد)
- امکان FTP‌ کردن پروژه به صورت built-in‌ اضافه شده است (چیزی شبیه به محیط cute ftp) .



از دیدی دیگر نگارش نهایی شامل این موارد کلی جدید است :

Visual Studio.NET Whidbey

Page Framework
Master Pages
Data Source Controls
Site navigation
Membership and roles management
Personalization
Mobile development
Themes
50 New controls


و یکی از شعارهای آن هم این است : "کد نویسی شما تا 70 درصد کاهش خواهد یافت".

Vahid_Nasiri
پنج شنبه 09 مهر 1383, 12:11 عصر
دو کتاب زیر به طور قطع در اختیار آقای کرامتی هم هستند که امیدوارم در سی دی های بعدی سایت برنامه نویس منتشر شوند :

A First Look at ASP.NET v. 2.0
Publisher : Addison Wesley
Pub Date : October 23, 2003
ISBN : 0-321-22896-0
Pages : 528

و

ASP.NET 2.0 Revealed
by Patrick A. Lorenz ISBN:1590593375
Apress © 2004

Vahid_Nasiri
جمعه 10 مهر 1383, 10:52 صبح
همانطور که ذکر شد تلاش زیادی در جهت یکپارچه سازی NET CLR runtime . و اس کیوال سرور در حال انجام است . ورژن آتی SQL-Server و یا Yukon ، قابلیت اجرای CLR را نیز داراست (Yukon CLR Procedure).

http://www.sqljunkies.com/Content/srisamp/46640ba1-46c1-4df8-94af-6adf84ddcf81/image01.gif


برای مثال قابلیت نوشتن رویه های ذخیره شده در سی شارپ (C# stored procedure) و سپس فراخوانی کدهای دات نت از درون آن. آبجکت ایجاد شده در سی شارپ می تواند یکی از حالت های زیر باشد :

1. Stored procedures.
2. User defined Scalar Functions
3. User defined Table Valued Functions
4. User defined Triggers.
(برای ملاحظه چند مثال کامل به مآخذ ذکر شده مراجعه نمایید.)

عناوین تازه های اس کیوال سرور 2005 (Yukon) نیز به شرح زیر هستند :


1. CLR Integration
2. SQL Server Management Objects
3. SQL Service Broker
4. Reporting Services
5. Notification Services


http://www.c-sharpcorner.com/Longhorn/Yukon/First-2.gif


مآخذ:
http://www.sqljunkies.com/Tutorial/46640BA1-46C1-4DF8-94AF-6ADF84DDCF81.scuk
http://www.developer.com/db/article.php/3289101
http://weblogs.asp.net/fbouma/archive/2004/09/12/228419.aspx
http://www.c-sharpcorner.com/Longhorn/Yukon/First-CLR-Procedure.asp
http://www.c-sharpcorner.com/Longhorn/Yukon/FAQ-Yukon.asp
http://www.gotdotnet.com/team/clr/about_clr.aspx

Vahid_Nasiri
شنبه 11 مهر 1383, 17:02 عصر
A First Look at ASP.NET v 2.0

http://www.daveandal.net/books/8960/8960.gif

Download the sample chapters
http://www.daveandal.net/books/8960/

==================

ASP.NET v 2.0: The Beta Version

http://www.daveandal.net/books/7278/7278.gif

Download the sample chapters
http://www.daveandal.net/books/7278/

==================

A First Look at ADO.NET and System.Xml v 2.0

http://www.daveandal.net/books/8391/8391.gif

Download the sample chapters
http://www.daveandal.net/books/8391/

==================

ASP.NET 2.0 QuickStart Tutorials

http://beta.asp.net/quickstart/aspnet/

Vahid_Nasiri
جمعه 17 مهر 1383, 11:16 صبح
Master Pages in ASP.NET 2.0

http://www.ondotnet.com/dotnet/2004/09/27/graphics/Addingnewmasterpage.jpg

Master pages در جهت رفع یکی از مهمترین کمبودهای ASP.NET قبلی ارائه شده است. تابحال اگر برنامه نویس ASP.NET می خواست توانایی یکسانی را به تمام صفحات اعمال کند می توانست با ایجاد یک یوزرکنترل و قرار دادن آن در صفحات مختلف این امر را محقق سازد (برای مثال اعمال تمپلیت ها). اگر تعداد صفحات یک پروژه زیاد باشد این عملیات، واقعا زمانگیر و اعصاب خرد کن خواهد بود! (هر چند در حد یک drag & drop است) . هدف از ارائه ی master pages حل این مشکل می باشد.
در اینجا برنامه نویس می تواند محتوایی را که قرار است در تمامی صفحات تکرار شود درون یک master page‌ قرار دهد و سپس با استفاده از کنترل ContentPlaceHolder محل قرار گیری سایر اجزای صفحات اصلی را مشخص را سازد.

بعنوان مآخذ خوب می توان لینک های زیر را معرفی کرد :

http://msdn.microsoft.com/library/default.asp?url=/library/en-us/dnvs05/html/aspnet-masterpages.asp
http://www.c-sharpcorner.com/Code/2004/May/MasterPages.asp
http://www.ondotnet.com/pub/a/dotnet/2004/09/27/libertyonwhidbey.html
http://www.devx.com/dotnet/Article/18042/1954?pf=true

Vahid_Nasiri
پنج شنبه 23 مهر 1383, 09:37 صبح
Data Source Controls

در نگارش جدید شاهد دیتاسورس کنترل های تازه ای ( مانند SqlDataSource, AccessDataSource و ... ) هستیم که نیاز به برنامه نویسی در بسیاری از موارد را به حداقل می رسانند. به مثال زیر دقت بفرمایید :


<html>
<body>
<form runat="server">

<asp:SqlDataSource ID="Students" RunAt="server"
ConnectionString="server=localhost;database=school;
SelectCommand="select roll_no, first_name, last_name, age, class from students" />

<asp:DataGrid DataSourceID="Students" RunAt="server" />

</form>

</body>
</html>

در مثال فوق یک دیتاسورس کنترل به نام Students ایجاد شده (تگ های آن به دلیل وضوح اسامی آنها نیازی به توضیح ندارد) که در آن کانکشن استرینگ جهت اتصال به اس کیوال سرور و سپس کوئری مورد نظر بر روی دیتابیس تعریف و ایجاد گشته است. سپس به سادگی به کنترل دیتاگرید (که آنهم بهبود بخشیده شده) ، نسبت داده شده است. (دیگری نیازی نیست تا برای بایند کردن داده ها به دیتاگرید برنامه بنویسید!)

ماخذ:
http://www.dotnetspider.com/Technology/KBPages/643.aspx

Vahid_Nasiri
جمعه 24 مهر 1383, 20:17 عصر
Themes and Skins

یکی دیگر از مواردی که در ASP.NET 2.0 در جهت بهبود ظاهری کار (در یک و یا تمام صفحات به صورت یکسان) ارائه شده است بحث پوسته ها (skins) و Themes است. پوسته مجموعه ای از خواص بصری است که به یک کنترل اعمال می شود و یک Theme مجموعه ای از پوسته ها می باشد. به محض اینکه تمی برای صفحه ای انتخاب شود به صورت خودکار ظاهر تمام کنترل ها را تحت تاثیر قرار خواهد داد.

http://www.15seconds.com/graphics/issue/040106_01.gif

ویژوال استودیو 2005 به همراه تعدادی پوسته استاندارد ارائه می شود و همچنین امکان ایجاد تم ها و پوسته های جدید را نیز دارا است. فایلهای پوسته دارای پسوند .skin بوده و تم ها در دایرکتوری استانداردی تحت عنوان Themes در برنامه ذخیره خواهند شد.

با این کار ، اعمال خواصی شبیه به استایل شیت ها در صفحات به شکل ساده تری درآمده است. یک فایل skin ایجاد می کنید. سپس برای مثال یک دکمه ی استاندارد وب را در آن قرار می دهید. با استفاده از ابزار ویژوال موجود، رنگ ، اندازه ، فونت و غیره آنرا تنظیم می کنید. اکنون تنها کافی است که نام این تم را به خواص صفحه اضافه کنید. از این به بعد برای مثال هر دکمه ای که در صفحه قرار گیرد خواص ظاهری خود را از این فایل پوسته به ارث خواهد برد. (بدیهی است که این مطلب در مورد سایر کنترل ها نیز صدق می کند).
با این کار دیگر همانند بکارگیری استایل شیت ها نیازی نیست تا با تعریف برای مثال یک دکمه ، به خواص آن دکمه مراجعه کرد و کلاس مربوطه را از فایل استایل شیت در جهت تغییر ظاهری دکمه به صورت دستی اضافه نمود. همچنین امکان اعمال استایل شیت به یک فایل پوسته نیز وجود دارد.


برای مطالعه بیشتر:
http://www.ondotnet.com/pub/a/dotnet/2004/08/30/themesandskins.html
http://www.15seconds.com/issue/040105.htm
http://www.codeguru.com/vb/vb_internet/aspnet/print.php/c7937/

Vahid_Nasiri
یک شنبه 26 مهر 1383, 17:37 عصر
بهبودهای حاصل شده در View state‌ نگارش 2 ای اس پی دات نت :

اگر به مقاله ی کوتاهی که چندی پیش در سایت منتشر شد (حفظ حالت در ASP.NET) مراجعه کنید ، View state‌ را یکی از مواردی خواهید یافت که سبب حفظ حالت کنترل های وب در محیط state less وب می گردند.
این ایده به ذات خود بسیار مفید بوده و سبب تمرکز بیشتر برنامه نویس بر روی مسائل مهمتر کاری بجای نگرانی در مورد شکل نهایی و مقادیر موجود در کنترل ها به ازای هر درخواستی از طرف کاربر می گردد. اما مهمترین مشکل با آن ، حجم آن است! اگر به سورس نهایی صفحات تولید شده ی ASP.NET 1.X مراجعه نموده و مقدار فیلد مخفی __VIEWSTATE را بررسی نمایید گاهی تا حدود چند ده کیلوبایت می شود که سبب کندی بارگذاری صفحات در خطوط اتصالی کم سرعت اینترنت می گردد (و این خاصیت برای تمام کنترل های وب به صورت پیش فرض برگزیده شده است). یکی از دلایل این حجم بالا ، رمزگذاری شده بودن محتوای آن است (با استفاده از روش base64 به صورت خودکار). روش base64 دارای 33 درصد سرجمع (overhead) می باشد (بهایی است که باید بایت امنیت و همچنین حفظ حالت پرداخت!). بنابراین توصیه می شود در حالتهایی مانند استفاده از دیتاگرید بدون خاصیت paging‌ ، حتما View State‌ را خاموش نمایید.
با بهینه سازی هایی که در الگوریتم تولید View Sate در ASP.NET 2.0 صورت گرفته ، حجم نهایی View Sate تولیدی تقریبا نصف حجم View state تولیدی در ASP.NET 1.x است. این امر سبب تولید صفحاتی سریعتر (از دیدکاربری با اتصال اینترنت معمولی) خواهد گردید.
در ASP.NET 2.0 مفهوم جدیدی به نام Control state نیز ارائه گشته است. در اینجا حفظ حالت مقادیر یک کنترل وب به View state و حفظ شکل ظاهری آن به Control state واگذار شده است (partitioning between behavioral and UI state) . در اینجا حتی اگر View state را هم خاموش نمایید بازهم Control state روشن بوده و کارش را تمام و کمال انجام خواهد داد.
برای مثال در ASP.NET 1.x اگر خاصیت View State مربوط به دیتاگرید را خاموش نمایید، بسیاری از توانایی های آن مانند paging ، edit‌ و غیره را از دست خواهید داد. اما در ASP.NET 2.0 با معرفی Control state حتی اگر View state را نیز خاموش نمایید باز هم کنترل به کار عادی خودش ادامه خواهد داد (زیرا مهمترین خواص را برای حفظ حالت و ظاهر خود در Control state کم حجم ذخیره می کند) .


مآخذ:
http://msdn.microsoft.com/msdnmag/issues/04/10/ViewState/default.aspx
http://www.nikhilk.net/

saeed_programer
دوشنبه 27 مهر 1383, 12:39 عصر
از کجا میشه اونو خرید یا مجانی دانلود کرد :wink:

Vahid_Nasiri
دوشنبه 27 مهر 1383, 17:53 عصر
اگر دقت می فرمودید در پست دوم این تاپیک لینک دانلود داده شده است. ولی در کل اگر دسترسی به اینترنت پرسرعت ندارید به فروشگاه سایت برنامه نویس سفارش بدهید در اسرع وقت به آدرس شما پست خواهد شد.

Vahid_Nasiri
پنج شنبه 30 مهر 1383, 21:09 عصر
Web Parts Framework in ASP.NET 2.0


http://msdn.microsoft.com/library/en-us/dnaspp/html/aspnet-meetwebpartfrmwrk-05.gif

در نگارش جدید ASP.NET شاهد کنترل های جدیدی به نام Web Parts خواهیم بود. این کنترل ها در جهت خصوصی سازی نمایی ظاهری سایت بکار برده می شوند . ایده ی آن بدین صورت است:
فرض کنید روزانه به سایت نیویورک تایمز برای مشاهده ی اخبار مراجعه می کنیم (این قسمت ترجمه است!). من بدنبال آخرین اخبار فیلم های روز و شما برای مثال بدنبال آخرین اخبار فوتبال هستید. اما من و شما در هر بار مراجعه به سایت ، با یک صفحه ی آغازین مشابه روبرو می شویم. آیا زیباتر نبود که من و شما در هر بار مراجعه ، به صفحه ی شخصی خود در این سایت هدایت می شدیم و تنها موارد دلخواه خود را می دیدیم؟!

با استفاده از بکار گیری کنترل های Web Parts ، کاربر می تواند محتوای صفحه ای را که می بیند اصلاح و انتخاب کند (شامل محتوا و شکل ظاهری). این ایده در ساخت Portals بسیار مفید خواهد بود.

http://msdn.microsoft.com/library/en-us/dnvs05/html/webparts_fig08.gif


برای مطالعه بیشتر:
http://msdn.microsoft.com/asp.net/whidbey/default.aspx?pull=/library/en-us/dnaspp/html/aspnet-meetwebpartfrmwrk.asp
http://msdn.microsoft.com/asp.net/default.aspx?pull=/library/en-us/dnvs05/html/webparts.asp
http://www.c-sharpcorner.com/Code/2004/July/PortalDevelopmentInASPNET.asp

Vahid_Nasiri
جمعه 01 آبان 1383, 11:05 صبح
ASP.NET 2.0 Caching Features

یکی از بهبودهای حاصل شده در کاشه کردن داده ها در نگارش جدید ASP.NET ، معرفی database triggered cache invalidation است تا همیشه بتوان از به روز بودن داده های مورد استفاده اطمینان حاصل کرد. در SQL-Server های 7 و یا 2000 ، این مکانیزم در سطح جدول خواهد بود . اما نگارش بعدی SQL-Server (و یا Yukon) ، مکانیزم آگاه سازی از تغییرات در سطح یک رکورد را نیز میسر ساخته است.

اطلاعات بیشتر:
http://www.15seconds.com/issue/040518.htm

Vahid_Nasiri
پنج شنبه 07 آبان 1383, 14:00 عصر
GridView & DetailsView Controls in ASP.NET 2.0

http://www.devx.com/assets/articlefigs/11303.jpg

با آنکه کنترل DataGrid در ASP.NET 1.X یکی از قدرتمندترین ها بدلیل توانایی های سفارشی سازی آن بود ، اما برای انجام بسیاری از امور توسط آن باید کد نوشته می شد ، مانند paging ، sorting ، آپدیت کردن داده های ویرایش شده و ... .
برای انجام امور* گزارش گیری* در ASP.NET 2.0 ، کنترل گرید جدیدی به نام GridView ارائه شده است. با ارائه ی کنترلهای جدید data source و بکارگیری آنها در GridView ، دیگر نیازی به کدنویسی برای انجام اموری مانند به روز در آوردن داده های ویرایش شده ی دیتابیس ، paging و غیره نخواهد بود و کنترلهای منبع داده ی جدید این امور را برای شما به صورت خودکار انجام خواهند داد.
همچنین کنترلهای تکمیلی DetailsView و FormView جهت کار با GridView برای ارائه ی مدلهای master/detail views نیز معرفی شده اند.

http://msdn.microsoft.com/library/en-us/dnvs05/html/validation_fig03thumb.gif


برای مطالعه بیشتر:
http://msdn.microsoft.com/msdnmag/issues/04/08/GridView/default.aspx
http://www.devx.com/dotnet/Article/22141/1954?pf=true
http://www.wwwcoder.com/main/parentid/459/site/3573/68/default.aspx

Vahid_Nasiri
پنج شنبه 07 آبان 1383, 15:01 عصر
Changes to the Validation Controls in ASP.NET 2.0

برای اعتبار سنجی داده های وارد شده از طرف کاربر قبل از ارسال آنها به سرور، کنترل های سمت مشتری Validation در ASP.NET 1.X معرفی شدند. در نگارش جدید ، validation groups نیز افزوده شده است. ایده ی آن هم به صورت زیر است:
در صفحات asp.net تنها وجود *یک* تگ form سمت سرور مجاز است و اگر یک صفحه را به چندین فرم فرضی تقسیم بندی کنیم با کلیک بر روی دکمه ی submit ، تمام کنترل های validation قرار گرفته روی فرم باخبر و فعال خواهند شد.
به شخصه با این مشکل در عمل (در ASP.NET 1.X ) مواجه شده ام. فرض کنید در صفحه دو table‌ دارید که در یکی فرم عضویت در خبرنامه ی سایت و دیگری فرم پر کردن اطلاعات کاربر قرار دارند (شکل متداول اغلب پورتال ها). برای تمام تکست باکس ها هم کنترل RequiredFieldValidator را قرار داده اید. کاربر اصلا نمی خواهد که در خبرنامه ی سایت عضو شود! و بدیهی است که چیزی را در تکست باکس آن وارد نخواهد کرد. اما سایر تکست باکس های فرم پرکردن اطلاعات را پر می کند. به محض فشردن دکمه ی ارسال اطلاعات در این قسمت ، کنترل RequiredFieldValidator مربوط به عضویت در خبرنامه نیز فعال شده و دیگر کل فرم ارسال نخواهد شد (مگر اینکه کاربر فیلد مربوط به خبرنامه را هم اجبارا پر کند!). این مشکل با معرفی validation groups در نگارش جدید حل شده است. به این صورت یک فرم را به صورت فرضی می توان به چند گروه تقسیم بندی کرد و سپس کار اعتبار سنجی را به صورت مجزا از هم اعمال نمود (شکل زیر).

http://msdn.microsoft.com/library/en-us/dnvs05/html/validation_fig01.gif


برای مطالعه بیشتر:
http://msdn.microsoft.com/library/en-us/dnvs05/html/ValGroups.asp?frame=true

Vahid_Nasiri
چهارشنبه 13 آبان 1383, 23:23 عصر
Inside the ASP.NET 2.0 Code Compilation Model


مروری بر نحوه ی کامپایل شدن کد در ASP.NET 1.X :

در اولین درخواست یک صفحه ی ASP.NET ، آن صفحه توسط ASP.NET runtime به صورت پویا کامپایل می شود. قبل از انجام اینکار ابتدا cache مورد بررسی قرار می گیرید تا از دوباره کاری جلوگیری گردد. نحوه ی کامپایل شدن هم بدین صورت است : ابتدا به صورت پویا سورس کدی موقتی که کلاس بیانگر صفحه ی مورد نظر است ایجاد می گردد. سپس توسط یک command-line compiler این کد به اسمبلی تبدیل می شود و در پایان کلاسی که بیانگر صفحه ی ASP.NET است نمونه سازی می گردد تا در جهت پاسخگویی به درخواست انجام شده برآید. مکان ذخیره شدن سورس کد موقتی نیز آدرس زیر می باشد:


[.NET System Directory]\Temporary ASP.NET Files\root\[x]\[y]\

لازم به ذکر است که :


[.NET System Directory] maps to c:\Windows\Microsoft.Net\Framework\V1.1.4322\

در این دایرکتوری فایلهایی را با پسوند cs خواهید یافت که همزمان با درخواست یک صفحه ی aspx به صورت پویا تولید شده اند. یعنی کدهای نوشته شده توسط کاربر (در دایرکتوری bin توسط کاربر) و کدهای تولیدی موقتی به صورت پویا در دایرکتوری فوق، جداگانه کامپایل می شوند.


تغییرات و بهبودهای انجام شده در ASP.NET 2.0 :

در نگارش جدید دیگر نیازی نیست تا کدهای خود را حتما توسط VS.NET کامپایل کنید و در دایرکتوری bin برنامه قرار دهید. در اینجا هر دو حالت کد موقتی و کدهای نوشته شده توسط کاربر ، بوسیله ی ASP.NET runtime به صورت خودکار و یکجا کامپایل خواهند شد. هنگامیکه برنامه ای را در VS.NET Whidbey اجرا می کنید به دو مطلب جدید برخواهید خورد : مرحله ی build‌ حذف شده است (برنامه بلافاصله اجرا می شود) و همچنین برنامه نویس برای اجرای کد خود نیازی به IIS نخواهد داشت و Visual Web Developer Web Server این امر را انجام می دهد (این مورد اخیر امکان کدنویسی را برای برنامه نویس ها در محیط شبکه با سطح دسترسی های کم مهیا می کند. تنها کسی می تواند از IIS برای اجرای برنامه ها استفاده نماید که ادمین سیستم باشد اما در اینجا این مورد برطرف شده) .
اینبار مکان ذخیره شدن فایلهای موقتی به صورت زیر است :


Local Settings\Temp\Temporary ASP.NET Files\[virtual root]\[x]\[y]

خودکار شدن کامپایل توسط ASP.NET runtime ، خطاهای کمتری را نیز سبب خواهد شد. در نگارش قبلی اگر برنامه نویس پس از تغییر کد فراموش می کرد برنامه را مجددا کامپایل کند ، به محض آپلود آن بر روی سرور با خطای زمان اجرا مواجه می شد اما اینجا خیر. ثانیا دیگر حتما نیازی به ابزارهای ویژه برای کامپایل کد در حالت code-behind programming نیست.
همچنین با معرفی برنامه ای به نام aspnet_compiler می توان برنامه را پیش کامپایل کرد و هنگام ارائه برنامه، سورس کدها را ارائه نداد (در ASP.NET 1.X اگر برنامه فول کامپایل می شد نیازی به ارائه ی فایلهای cs و یا vb نبود. در اینجا چون دیگر نیازی به کامپایل (از طرف برنامه نویس) نیست و تمام موارد خودکار شده این مورد نیز درنظر گرفته شده است).


برای مطالعه بیشتر:
www.codeguru.com/Csharp/.NET/net_asp/miscellaneous/article.php/c5365/

Vahid_Nasiri
جمعه 15 آبان 1383, 21:34 عصر
ASP.NET 2.0's Client Callback Feature


یکی از مواردی که در ASP.NET 2.0 بازنگری شده است ، ویژگی Client Callback می باشد. توسط این ویژگی می توان کدهای سمت سرور را بوسیله ی کدهای سمت کلاینت جاوا اسکریپت فراخوانی کرد بدون اینکه نیازی به post back کل صفحه باشد.
بدلیل ماهیت stateless پروتکل HTTP ، در هر زمانی که کاربر داده ای را نیاز دارد تا از سرور دریافت کند و یا کدی بر روی سرور اجرا گردد ، باید صفحه را در ابتدا ارسال نماید. در این حالت post-back ، رویدادگردان های سمت سرور فعال شده ، کدی را اجرا نموده و خروجی را جهت مشاهده ی کاربر ارسال می نمایند. این مدل در اکثر حالات بسیار خوب جوابگو است اما محدودیت هایی را نیز برای برنامه نویسان ASP.NET به همراه دارد. برای مثال وجود ViewState های پرحجم خصوصا برای کاربرانی که از اتصال های dial-up به اینترنت استفاده می کنند ، بسیار آزار دهنده خواهد بود. بنابراین امکان فراخوانی کدهای سمت سرور از کدهای سمت کلاینت ، خواسته ی بسیاری از برنامه نویس های ASP.NET بوده است و در نگارش جدید میسر شده است.
ایده ی فوق هم اکنون توسط اکتیوایکس XMLHTTP نیز قابل اجرا است و ویژگی اضافه شده به ASP.NET 2.0 در حقیقت استفاده از این شیء به شکل یک اینترفیس می باشد. برای مثال کنترل TreeView اضافه شده به ASP.NET 2.0 ، اینترفیس ذکر شده را پیاده سازی می کند.

http://www.dotnetjunkies.com/Content/enderminh/e80ec96f-1c32-4855-85ae-9e30eecf13d7/image02.gif

ماخذ:
http://www.dotnetjunkies.com/tutorial/E80EC96F-1C32-4855-85AE-9E30EECF13D7.dcik

مهدی کرامتی
شنبه 16 آبان 1383, 00:38 صبح
بسیار متشکر.

این سلسله مطالب برای من خیلی جالب و مفید است. :<:

Vahid_Nasiri
شنبه 16 آبان 1383, 07:43 صبح
خواهش می کنم. :D

Vahid_Nasiri
دوشنبه 18 آبان 1383, 21:01 عصر
Visual Studio 2005 Navigation Controls

ASP.NET 2.0 کنترلهای جدیدی جهت سهولت ایجاد navigation (راهبری) در سایت ارائه داده است. با استفاده از کنترلهای asp:TreeView و یا asp:Menu می توان ساختار راهبری سایت را به صورت بصری پیاده سازی کرد. همچنین کنترل asp:SiteMapPath نیز جهت ایجاد نقشه سایت معرفی شده است.

http://msdn.microsoft.com/library/en-us/dnvs05/html/migratefromaspnetto2_fig08.gif

در ASP.NET 1.X راه حل جامعی جهت حل مساله ی مهم راهبری در سایت ارائه نشد و همچنان همان روش های قدیمی ایجاد لینک ها و یا کپسوله سازی آنها در یک یوزرکنترل (در بهترین حالت) میسر بود. علاوه بر اینکه این روش ها زمان زیادی را برای ایجاد به خود اختصاص می دهند ، باجابجایی مسیرفایلها نیاز به تغییر کلی لینکها می باشد (عموما یک سایت معمولی بیش از 100 صفحه دارد و تغییر دستی ، کنترل و تست سالم بودن لینک های سایت ،گاهی شاید ساعتها وقت ببرد). در ASP.NET 2.0 کنترلهای ذکر شده جهت سهولت ایجاد و مدیریت راهبری سایت حتی در حالتهایی که مکان فیزیکی فایلها تغییر می کنند ، ایجاد شده اند.
همچنین فایل xml‌ استانداردی به نام web.sitemap نیز تعریف شده است که در آن می توان ساختار منطقی (بجای ساختارفیزیکی) سایت را تعریف کرد. در ساختار منطقی سایت ، ارتباط صفحات با هم مشخص می شوند و نه مکان قرارگیری آنها در فولدرهای مختلف.
پس از ایجاد فایل فوق ، کنترل جدیدSiteMapDataSource را می توان بر روی فرم قرار داد و به صورت خودکار به فایل xml ذکر شده بایند می شود. سپس کنترلهای جدید treeview ویا menu‌ نیز می توانند از این دیتاسورس استفاده نمایند.

http://msdn.microsoft.com/msdnmag/issues/04/06/NavigationControls/fig01.gif

ماخذ:
http://msdn.microsoft.com/asp.net/whidbey/default.aspx?pull=/library/en-us/dnvs05/html/migratefromaspnetto2.asp

http://msdn.microsoft.com/msdnmag/issues/04/06/NavigationControls/

Vahid_Nasiri
دوشنبه 02 آذر 1383, 12:50 عصر
یاد آوری:
برای نصب مجموعه های لازم ذکر شده نیاز به دات نت فریم ورک 2 (بتا) هست:

NET Framework Version 2.0 Redistributable Package Beta 1 (x86) (http://www.microsoft.com/downloads/details.aspx?FamilyID=b7adc595-717c-4ef7-817b-bdefd6947019&displaylang=en)

تذکر!
بعد از نصب ، با اجرای برنامه ها در محیط VS.NET 2003 مشکل پیدا می کنید. البته برنامه کاملا کامپایل می شود و در IE قابل browse هست اما دکمه ی F5 را فراموش کنید (یا حداقل برای من اینطور بود).

Vahid_Nasiri
دوشنبه 09 آذر 1383, 11:46 صبح
Compression support in ASP.NET 2.0

به دات نت فریم ورک 2 ، فضای نام جدیدی به نام System.IO.Compression اضافه شده است.یکی از کاربردهای آن فشرده سازی خروجی صفحات asp.net‌ با استفاده از فرمت gzip‌ می باشد. این کار سبب کاهش دیتاترانسفر سایت و همچنین بالارفتن سرعت مشاهده ی یک صفحه می گردد.

ماخذ:
http://www.microsoft.com/belux/nl/msdn/community/columns/desmet/compression.mspx

برای سایر نگارش های موجود:
http://www.blowery.org/code/HttpCompressionModule.html

Vahid_Nasiri
دوشنبه 09 آذر 1383, 14:40 عصر
Refactoring in Whidbey


code refactoring means restructuring your code so that the original intention of the code is preserved. For example, you may rename a variable so that it better reflects its usage. In this case, the entire application that uses this variable need to be updated with the new name. Another example of code refactoring is extracting a block of code and placing it into a function for more efficient code reuse.

http://www.ondotnet.com/dotnet/2004/06/28/graphics/image017.jpg

اطلاعات بیشتر
http://www.ondotnet.com/lpt/a/4971

M.GhanaatPisheh
سه شنبه 17 آذر 1383, 02:01 صبح
اگر ممکنه این سری رو هم pdf کنید
کلا مختصر و مفید بود. :thnx:

Vahid_Nasiri
دوشنبه 19 بهمن 1383, 11:40 صبح
یاد آوری:
برای نصب مجموعه های لازم ذکر شده نیاز به دات نت فریم ورک 2 (بتا) هست:

NET Framework Version 2.0 Redistributable Package Beta 1 (x86) (http://www.microsoft.com/downloads/details.aspx?FamilyID=b7adc595-717c-4ef7-817b-bdefd6947019&displaylang=en)

تذکر!
بعد از نصب ، با اجرای برنامه ها در محیط VS.NET 2003 مشکل پیدا می کنید. البته برنامه کاملا کامپایل می شود و در IE قابل browse هست اما دکمه ی F5 را فراموش کنید (یا حداقل برای من اینطور بود).

این مشکل هم قابل رفع است:
http://aspnet_harish.blogspot.com/2005/02/unable-to-debug-net-11-applications.html

با تشکر از سایت iranasp.net در مورد خبر رسانی در این مورد

titbasoft
چهارشنبه 05 اسفند 1383, 13:46 عصر
توی یکی از پست هاتون در مورد تغییرات viewstate توضیحاتی دادید. همونطور که همه می دونن view state به صورت string ذخیره می شه و نمی شه یک object در آن ذخیره کرد. این مشکل برای من وقتی دردسر ساز شد که به یک table به صورت dynamic ردیف و cell اضافه می کردم. حالا کافی بود یک بار صفحه رو post back کنم تا همه رو از دست بدم.
اصلا به طور کلی این در این مورد تغیری ایجاد شده یا نه؟ :گیج:

مطالب ارزنده در این تاپیک نوشته شده . من هم به نوبه خودم واقعا تشکر می کنم که اطلاعاتی رو که واقعا وقت صرفشون کردید به این راحتی در اختیار عموم می گذارید. هر کسی این کار رو نمیکنه و اگر هم نکنه به نظر من نمی شه بهش اشکال گرفت :wink: موفق باشید.

Vahid_Nasiri
جمعه 07 اسفند 1383, 01:19 صبح
مرسی :)

این کنترل جدول از کنترل های HTML بوده؟ اگر بله در مورد آنها ViewState اعمال نمی شود (مانند asp کلاسیک) و باید به صورت دستی و روش های سنتی مانند استفاده از فیلدهای مخفی ، خودتون کار ذاتیViewState رو شبیه سازی کنید (این مطلب در تمام نگارش های ASP.NET یکسان خواهد بود) . (بهتر است از دیتاگرید استفاده کنید تا از مزیت Viewstate آن نیز بهره مند شوید. تقریبا همه کاری با این کنترل به ظاهر ساده می‌شود کرد.)

در مورد اینکه چه چیزهایی می شود در Viewstate ذخیره کرد به مقاله زیر مراجعه کنید:
http://www.dotnetjohn.com/articles/articleid71.aspx

DJINN
سه شنبه 13 اردیبهشت 1384, 14:45 عصر
A Day Without Learning Is A Lost Day


حقا که از گوینده ی این حرف باید انتظار این چنین انرژی بی پایانی رو داشت :flower:

واقعا لطف بزرگی در حق مبتدیانی مثل من و امثال من میکنید :flower: :flower: :thnx:

ealireza
چهارشنبه 21 اردیبهشت 1384, 23:56 عصر
Vahid_Nasir جان
من این ASP.net2 رو لازم دارم + SQL و....
اگه میشه بگو از کجای فروشگاه باید خرید کرد

اگه میشه خودت یه شماره حساب بده و بگو ما باید چند بدیم تا برامون پست کنی ...

آیا تو سیدیت مثلالی مقاله ای .. چیزی هم میزاری :گیج:


مرسی و ممنون

rainynight
چهارشنبه 13 مهر 1384, 20:23 عصر
سلام من بعد از این که پروژه خودمو با .net 2 تکمیل کردم و روی سرور ارسال کردم با این خطا مواجه شدم دلیلش چی هست البته باید بگم وقتی روی Iis هم بصورت localhost/myproject/default.aspx اجراش می کردم همین خطارو میداد فقط وقتی از داخل خود vs اجراش می کنم کار می کنه میشه لطفا کمک کنید

Server Error in '/' Application.
--------------------------------------------------------------------------------

Configuration Error
Description: An error occurred during the processing of a configuration file required to service this request. Please review the specific error details below and modify your configuration file appropriately.

Parser Error Message: Unrecognized attribute 'xmlns'.

Source Error:


Line 8: \Windows\Microsoft.Net\Framework\v2.x\Config
Line 9: -->
Line 10: <configuration xmlns="http://schemas.microsoft.com/.NetConfiguration/v2.0">
Line 11: <appSettings/>
Line 12: <connectionStrings/>


Source File: c:\inetpub\wwwroot\asp2\web.config Line: 10


--------------------------------------------------------------------------------
Version Information: Microsoft .NET Framework Version:1.1.4322.573; ASP.NET Version:1.1.4322.573

anubis_ir
چهارشنبه 13 مهر 1384, 20:55 عصر
Microsoft .NET Framework Version:1.1.4322.573
!!!

rainynight
پنج شنبه 14 مهر 1384, 19:43 عصر
:D ببخشید فهمیدم مشکل از ورژن دات نتم بود ولی تو iis اینو درست کردم ولی هاستم که اینو ساپورت نمیکنه
میشه یه هاست معرفی کنید که .net 2 رو ساپورت کنه اگه مجانی باشه بهتر اگه مجانی نیست ایرانی باشه
ممنون میشم

aidinwashere
سه شنبه 15 آذر 1384, 13:03 عصر
یکی جواب منو بده
چرا جناب نصیری دیگه نیستند؟
...

reham
چهارشنبه 30 آذر 1384, 13:11 عصر
با visual studio dot net 2005 میتونیم به ASP.2 دسترسی داشته باشیم...

AspNet
یک شنبه 18 دی 1384, 23:39 عصر
یه سوال از asp.net 2:

چطور میشه layout صفحه رو از flat به grid تغییر داد؟

در asp.net 1 به صورت اتوماتیک grid بود و از propertiese میشد عوضش کرد.

ممنون میشم راهنمایی کنید.

Silverboy
سه شنبه 11 بهمن 1384, 20:01 عصر
دوست عزیز در asp.net 2 حالت grid به طور کلی حذف شده
چون اعتقاد بر اینه که grid با مفهوم css به طور کلی تضاد داره

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

dr_g
پنج شنبه 13 بهمن 1384, 17:24 عصر
با تشکر ازجناب آقای نصیری
از دوستان کسی Starter Kits ها رو دانلود کرده و باهاشون کار کرده ؟؟
http://msdn.microsoft.com/vstudio/express/vwd/starterkit/#personal

dr_g
پنج شنبه 13 بهمن 1384, 17:37 عصر
این هم یه سایت جالب برای شروع یادگیریASP.NET 2.0 به دوزبان #C و VB
http://aspnet20.learnasp.com/QuickStartv20/aspnet/Default.aspx

dr_g
یک شنبه 16 بهمن 1384, 17:19 عصر
این هم چکیده ای درموردفضای نام MY
که فکرکنم بقدری واضح باشه که نیاز به ترجمه نداشته باشه


My.Application
Provides properties, methods, and events related to the current application.



My.Computer
Provides properties for manipulating computer components such as audio, the clock, the keyboard, the file system, and so on.



My.Forms
Provides properties for accessing an instance of each Windows form declared in the current project.



My.Log
Provides a property and methods for writing event and exception information to the application's log listeners.


My.Request
Gets the HttpRequest object for the requested page.



My.Resources
Provides properties and classes for accessing the application's resources.



My.Response
Gets the HttpResponse object associated with the Page. This object allows you to send HTTP response data to a client and contains information about that response


.
My.Settings
Provides properties and methods for accessing the application's settings



My.User
Provides access to the information about the current user.



My.WebServices
Provides properties for creating and accessing a single instance of each XML Web service referenced by the current project.

AspNet
دوشنبه 17 بهمن 1384, 15:55 عصر
دوست عزیز در asp.net 2 حالت grid به طور کلی حذف شده
چون اعتقاد بر اینه که grid با مفهوم css به طور کلی تضاد داره

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

ممنون از جوابتون.
یه راه خوبی که من پیدا کردم اینه که از منوی Layout گزینه position رو انتخاب کنیم و از اونجا گزینه ی آخری یعنی auto-position options... رو بزنیم و در صفحه ایی که میاد تنظیمات مربوط به CSS Positioning رو انجام بدیم (دلخواه) و سپس ok کنیم.

با این روش هم مثل asp.net 1.x میشه به صورت grid کار کرد. البته با این تفاوت که شکل واضح گرید که به صورت نقطه چین هست رو نشون نمیده.

hamed_gibago
چهارشنبه 24 اسفند 1384, 00:22 صبح
من یک ebook در مورد Asp می خواهم

hamed_gibago
شنبه 06 خرداد 1385, 21:41 عصر
برای یادگیری Asp.net از کودوم زبان شروع کنیم بهتره ؟ C# یا vb.net ؟

favorite
یک شنبه 07 خرداد 1385, 02:13 صبح
merci وحید جان!
کولاک کردی

sadaf_m
یک شنبه 14 خرداد 1385, 23:06 عصر
salam
agar mitunid mano rahnamaee konid ye manba'e intereneti e kamel mikham baraye yad girie ASP ya HTML Programming
Thanx

pishro78
شنبه 14 مرداد 1385, 13:45 عصر
سلام
من یه پروژه رو روی asp.net1.0 ساخته بودم و بعد وسط کار ارتقا دادم بهasp.net2.0 کار بااون راحت بود ولی وسط کار دیدم که کلی تغییر توی فایلها به صورت خودکار داده بود ودیگه اینکه امکان تنظیم خواص grid مهیا نبود مثلsort,..... جدا از این مورد سایت از طریق vssبک آپ گیری وبازمیشد درasp.net1.0 ،هرچند در vs.net2.0 امکان نصب VSS وجوداره ولی کنترل vss رو ،فایل backup خودپروژه برعهده داره وبه همین خاطر یه سری خرابکاری درvss انجام میشه که از اون جمله اینکه
دیگهdiffrent فایلها رو در vss نداریم به همین خاطر مجبور شدم پروژه رو به asp.net1.0 برگردونم با هزار بدبختی !!!!!!!!!!!!!
حالا میخوام بدونم باتوجه به vss وasp.net2.0 میشه پروژه ساخته شده در ASP.NET1.0 رو درASP.NET2.0 اصلاح کرد یا بیخیالش
مو قع نصبasp.net2.0 مسیرها رو نمیتونیم تغییر بدیم؟(توضیح راجع به نکات ریز در مورد نصبش
لطفا)
ممنون میشم اگه کمک کنید مخصوصا از آقای وحید نصیری با بحث جالب وبه موقعشون

shima2006
پنج شنبه 19 مرداد 1385, 08:24 صبح
سلام
من به یک تقویم شمسی در ای اس پی دات نت نیاز دارم
ممنون می شم اگه کمکم کنید

pishro78
یک شنبه 22 مرداد 1385, 12:05 عصر
salam
lotfan kami taze vared ha ro tahvil begirid javab bedin
سوالم رو در بالا پرسیدم یه لطف کنید جواب بدین ممنون میشم

pouriams
یک شنبه 22 مرداد 1385, 14:03 عصر
برای شروع asp.net باید ببینید که قبلا با چه زبانی کار کردید (vb یا c یا جاوا) اگر هم کار نکردید، ببینید که دوست دارید با کدوم زبان کار کنید. قدرت زبان برنامه نویسی در asp.net فرقی نمی کند زیرا که همه شان تبدیل به فایل dll میشوند. البته خب vb راحت‌تر است. ولی به نظر من #c شیرین‌تر است