انجام پروژهای طراحی سایت asp.net

انجام پروژهای برنامه نویسی

انجام پروژهای طراحی سایت asp.net

انجام پروژهای برنامه نویسی

انجام پروژه های دانشجویی و برنامه نویسی , سورس برنامه , پروژه های برنامه نویسی

را برای دانلود قرار داده ایم.این پروژه به صورت کامل و همراه با مستندات می باشد.در ادامه به برخی از امکانات این پروژه اشاره می کنیم.
فروشگاه آنلای18 دسته بندی برنامه نویسی , شروع کار با ASP.NET نویسنده: علی دلشاد

azsoftir@gmail.com
azsoftir.com
09367292276azsoftir@gmail.com
azsoftir.com
09367292276

azsoftir@gmail.com
azsoftir.com
09367292276azsoftir@gmail.com
azsoftir.com
09367292276

azsoftir@gmail.com
azsoftir.com
09367292276azsoftir@gmail.com
azsoftir.com
09367292276


شاید شنیده باشید که برای اینکه یک هنر را یادبگیرید اول باید عاشق آن هنر بشوید ، راحت بگویم برنامه نویسی یک هنر است و باید عاشق برنامه نویسی باشید تا یک برنامه نویس خوب بشوید ، یعنی قبل از اینکه به هرچیز دیگری مثل کار و پول و چیزهای دیگر فکر کنید به این فکر کنید که آیا این هنر را دوست دارید یا خیر

اگر جواب شما بله است ، بیاید شروع کنیم

    روش های شروع یادگیری :
        برای کسانی که هیچ پیش زمینه برنامه نویسی ندارند یا پیش زمینه در حد درس های دانشگاهی بوده بنده مشاهده ویدئو های آموزشی را پیشنهاد میکنم ، در منوی فیلم آموزشی چند دسته فیلم آموزشی کلاس های خودم را قرار داده ام که برای شروع میتوانید از سری ویدیو های "دوره مقدماتی ASP.NET" شروع نمایید
        افرادی که پیش زمینه بیشتری دارند یا خواندن مقاله را ترجیح میدهند میتوانند سری مقالات "شروع کار با asp.net" را مطالعه نمایند
        استفاده از تالار های گفتگو سوال و جواب و FAQ های متنوع میتواند بهترین استاد خصوصی شما باشد ; خیلی وقتهای اتفاق می افتد که شما مبحثی رو مطالعه کردید پروژه ای رو انجام داده اید ولی با خطا مواجه شدید یا اینکه توانایی ادامه پروژه رو ندارید و با مشکل مواجه هستید ، در این موارد سایت های تالارگفتگو میتوانند بسیار مفید واقع شوند . بدین منظور بخش پرسش و پاسخ سایت را فعال کردم که علاقه مندان بتوانند مشکلات خود را در آن برطرف سازند : http://forum.delshad.ir
        کسانی که به دنبال پروژه های آماده ASP.NET هستند به سایت زیر مراجعه کرده و پروژه های آماده StarterKits و غیره را دانلود نمایند : http://www.asp.net/community/projects
        انتخاب هدف ، این بخش شاید مهمترین رکن یادگیری باشد ، اگر بدون هدف شروع به یادگیری کنید قطعا شکست خواهید خورد ، سعی کنید هدفتان را یادگرفتن و جلو رفتن قرار ندهید ، هدف شما باید انجام یک پروژه باشد ، بنابراین از همین ابتدای کار یک پروژه ملموس برای خودتان انتخاب کنید ، طراحی یک وب سایت شخصی برای خودتان ، طراحی یک فروشگاه ساده اینترنتی ، ایجاد یک تالار ساده پرسش و پاسخ و یک سیستم عضویت و ارسال خبرنامه و.... میتواند پروژه آینده شما باشد . به هیچ وجه از انتخاب پروژه نترسید قرار نیست این پروژه را 1 هفته ای یا یک ماهه انجام دهید ، شما قدم به قدم یاد میگیرید و بخشی از پروژه خود را مانند یک پازل تکمیل می کنید .

azsoftir@gmail.com
azsoftir.com
09367292276azsoftir@gmail.com
azsoftir.com
09367292276

azsoftir@gmail.com
azsoftir.com
09367292276azsoftir@gmail.com
azsoftir.com
09367292276

azsoftir@gmail.com
azsoftir.com
09367292276azsoftir@gmail.com
azsoftir.com
09367292276

    پیش نیاز های یادگیری :
    Html : شما باید کمی تا حدودی به این زبان ساده تسلط داشته باشید تا بتوانید از پس طراحی و برنامه نویسی وب بوسیله Asp.net بر بیایید . برای شروع میتوانید ویدیو های آموزشی آشنایی با CSS و HTML یا مقالات  بخش Html ملاحظه کنید. در ضمن آشنایی با زبان جاوا اسکریپت در این راه خیلی مفید خواهد بود.
    Language : شما باید یکی از سه زبان Delphi.Net, J# , c#, Vb.Net رو برای برنامه نویسی Asp.net انتخاب کنید . می دانم در ابتدا در انتخاب این سه مردد خواهید شد سعی میکنم شما رو در انتخاب زبان مورد نظرتون راهنمایی کنم :
        اگر تا به حال با خانواده C برنامه نوشته باشید و به آن آشنایی دارید بهتر است که گزینه #c رو انتخاب کنید چون ازخانواده بزرگ C هست .
        اگر با QBasic یا خانواده Basic یا visual basic کار کرده اید و با آن آشنایی دارید یادگیری VB.NET برایتان سخت نخواهد بود .
        کسانی که با زبان دلفی کار کرده اند میتوانند نسخه دات نت اونو تهیه کنند و با آن کار کنند .
        برای کسانی که تا به حال برنامه نویسی نکرده اند به علت ساده بودن و کارایی VB.NET رو پیشنهاد میکنم .
        مسلما کسانی که به یکی از زبان های برنامه نویسی آشنایی دارند یادگیری برایشان خیلی راحت تر خواهد بود .
    Database : شما باید کار حد اقل یکی از دیتابیس ها را مانند Microsoft Access , Microsoft SQL Server , Oracle ,... را در حد متوسط بیاموزید تا بتوانید اعمال بانک های اطلاعاتی و Ado.Net رو بخوبی فرا گیرید. برای شروع کار ویدیو های آموزشی کار با پایگاه داده را مطالعه نموده یا به مقالات بانک اطلاعاتی مراجعه کنید.

    نکته - در آخر باید این نکته را ذکر کنم که هر چقدر هم که امکانات و ابزار لازم و حتی کلاس های آموزشی یا استاد خصوصی در کنار شما باشد اگه تلاش و کوشش خودتان نباشد مطمئنآ موثر نخواهد ب
فروشگاه طراحی شده بر روی اینترنت است که فروشندگان می توانند محصولات و کالاهای خود را از این طریق عرضه کنند و خریداران می توانند محصولات آنها از قبیل گوشی،قطعات ،کتاب و نرم افزار را خریداری نمایند.
سیستم فروشگاه از دو قسمت قابل مشاهده برای بازدید کننده و قسمت مدیریت تشکیل می شود.
نرم افزارهای طراحی دایاگرام و UML :

azsoftir@gmail.com
azsoftir.com
09367292276azsoftir@gmail.com
azsoftir.com
09367292276

azsoftir@gmail.com
azsoftir.com
09367292276azsoftir@gmail.com
azsoftir.com
09367292276

azsoftir@gmail.com
azsoftir.com
09367292276azsoftir@gmail.com
azsoftir.com
09367292276


نرم افزار Rational Rose
امکانات پروژه :

مدیریت سیستم
مدیریت سیستم شامل بخش هایی مانند :
تعریف گروههای ( طبقه ) اصلی
تعریف محصولات هر طبقه
مدیریت اعضاء
مدیریت فروش ( شامل تایید خریدها و یا حذف خریدها )
فروشگاه ( قابل مشاهده توسط سایر افراد )
مشاهده گروههای اصلی
مشاهده محصولات هر گروه
عضویت در سایت
تایید نهایی سبد خرید
امکان ثبت نام و ورود به سایت
امکان خرید محصول ( اضافه به سبد خرید -مشاهده سبد خرید -ویرایش و حذف آن – ثبت خرید،امکان خرید بصورت پستی و پرداخت الکترونیکی و همچنین از طریق فیش بانکی )
امکان جستجو در سایت
امکان مدیریت سایت ( اضافه کردن محصول جدید-حذف محصول-مشاهده و حذف کاربر-مشاهده و تایید سبد خرید کاربران-تغییر کلمه عبور )
امکانات پیاده سازی  فروشگاه آنلاین:

azsoftir@gmail.com
azsoftir.com
09367292276azsoftir@gmail.com
azsoftir.com
09367292276

azsoftir@gmail.com
azsoftir.com
09367292276azsoftir@gmail.com
azsoftir.com
09367292276

azsoftir@gmail.com
azsoftir.com
09367292276azsoftir@gmail.com
azsoftir.com
09367292276


۱- محیط برنامه نویسی : Microsoft Visual Studio
۲- زبان برنامه نویسی : C# – Asp.Net
۳- تکنولوژی : دانت نت فریم ورک
۴- پلت فرم : ویندوز – تحت وب
۵- بانک اطلاعاتی : Microsoft Sql Server
۶- JQuery ، Java Script ، CSS ، HTML و…

انجام پروژه دانشجویی asp, c#, vb.net, vb6, php, matlab, jsp,

انجام پروژه دانشجویی درسراسرایران
نرم افزار*سخت افزار تحت تمامی زبانها برنامه نویسی
انجام و پیاده سازی کلیه پروژه های برنامه نویسی موسسه ی *شرکتی *حسابداری *دولتی و دانشجویی
بیش از 20 پروژه برنامه نویسی از دپارتمان علوم رایانه از دانشگاه های کلمبیاهندمالزی و..دربانک پروژه پایتخت ، از جمله ، سیستم شهرت پیشنهاد ، تجزیه و تحلیل اسپم ، پیاده سازی همکار به همکار شبکه ، تجزیه و تحلیل اسکایپ ، ، کتابخانه صوتی برای لینوکس و غیره. انجام شده توسط خودگروه
انجام پروژهای برنامه نویسی برای دانشجویان ایرانی خارج ازکشور
پایان نامه – پروپزال دانشجویان مقاطع کاردانی کارشناسی کارشناسی ارشد و
داخل و خارج از کشوررشته کامپیوتر
خدمات مشاوره ای:
- انجام تمامی خدمات مربوط به تهیه پیشنهادیه پایان نامه
( proposal )
مشاوره و تدوین پایان نامه های مرتبط با رشته های فوق الذکر
ارائه تمامی فصول مربوط به پایان نامه ، مطابق با جدول زمانبندی توافقی
و در انتها ارائه مقاله ای علمی – پژوهشی برای ارائه نشریات معتبر داخلی (علمی-پژوهشی) و خارجی
(ISI)

azsoftir@gmail.com
azsoftir.com
09367292276azsoftir@gmail.com
azsoftir.com
09367292276

azsoftir@gmail.com
azsoftir.com
09367292276azsoftir@gmail.com
azsoftir.com
09367292276

azsoftir@gmail.com
azsoftir.com
09367292276azsoftir@gmail.com
azsoftir.com
09367292276

-------------------------------------------------------------------------------------------------------------------------------
ثبت فروش طراحی وب سایت
توسط تیم مجرب* گروه مهندسین پایتخت
پروژه های آماده برای تمام درس های رشته کامپیوتر
بیش از دوهزارپروژه آماده
تحت تمامی زبانها برنامه نویسی
پروژه های تحت Widows : دلفی (Delphi)، ویژوال بیسیک (VB, Visual Basic)، اکسس (Access)، پایگاه داده (SQL Server)
پروژه های تحت Web: طراحی سایت (Web site design) به کمک HTML و ASP و ASP.Net 2005.2008
پروژه های بیسیک (Basic)، پاسکال (Pascal)، سی (C)، شی گرا (++C)، سی شارپ (C#)، دات نت (.Net)، ویژوال بیسیک دات نت (VB.Net)
جاواپی اچ پی
(php). (java)(j2EE)(MATLAB),
مطلب
پروژه های پرولوگ... Assembly(اسمبلی) Vparalog,paralog(ویژوال پارالوگ و پارالوگ پروژه بارکد*شبیه سازی *(Prolog)
پروژهای پردازش تصویر
پروژه های پایگاه داده

کلیه دروس رشته کامپیوترنرم افزارسخت افزارگرافیک وفناوری اطلاعات
IT
انجام پروژه های برنامه نویسی دانشجوئی برای درس های :
* برنامه ساز آزمایشگاه های (سیستم عامل ، ریزپردازنده ، مدار منطقی ، پایگاه داده
ی پیشرفته
* مبانی کامپیوتر
هوش مصنوعی*
شبیه سازی
بهینه سازی
* سیستم های تجاری
* ساختمان داده
* طراحی الگوریتم

ذخیره و بازیابی اطلاعات
ریزپردازنده IVR ، 8051
• نشنال روز مهندسی نرم افزار 1و2
کامپایلر
سیستم عامل
پروژه های -پردازش تصویر فازی –ژنتیک – شبکه عصبی –هوش مصنوعی – شبیه سازی –بهینه سازی -
SIMULINK و IMAGE PROCESSING و GENETIC ALGORITHM و NEURAL NETWORK و FUZZY LOGIC

///////////////////////////////////////////////////////////////////////////////////////////////////////////////
لیست پروژهای آماده تحت تمامی زبانهای برنامه نویسی
سیستم آرشیو اطلاعات پروژه های دانشجویی ازدانشگاه انگلستان
سیستم ام ارپی ازدانشگاه هند
فروشگاه اینترنتی ازدانشگاه مالزی
نرم افزارارسال اس ام اس وایمیل ازدانشگاه ترکیه
سیستم مدیریت سرگشی سیستم مشاوره املاک - سیستم پرداخت ماهیانه اقساط بانکی- سیستم جامع کنترل میزان صدور بیمه نامه و گزارشات مقایسه ای روزانه ،- مهمانسرا – مسافرخانه- سیستم کارگزینی ماهیانه و سالیانه و نموداری کامل سیستم با غ وحش
برنامه اسباب بازی فروشی
سیستم رزرو بلیط سینما* سیستم آموزشگاه زبان* سیستم بنگاه اتومبیل* سیستم مطب پزشک* سیستم لباس فروشی* سیستم ثبت نام باشگاه بدنسازی* سیستم محاسبه و ثبت کارکرد و پورسانت بازاریابان* یستم فروشگاه خودرو(Online)* سیستم فروشگاه موتور سیکلت(Online* سیستم فروشگاه فیلم و CD(Online)* سیستم نشریه الکتنرنیکی *(* سیستم فروشگاه لوازم خانگی** سیستم فروشگاه قطعات لاستیکی** سیستم فروشگاه لوازم چوبی** سیستم فروشگاه قطعات خودرو* فروشگاه خشگبار* سیستم ثبت نام آنلاین دوره های آموزشی آموزش و پرورش* سیستم فروشگاه تجهیزات بدنسازی آنلاین* سیستم ثبت سفارشات خرید مربوط به تعاونی شرکتها به صورت آنلاین* سیستم آموزشگاه زبان* سیستم رزرو و فروش بلیط اتوبوسرانی* سیستم ثبت نام باشگاه بدنسازی* سیستم فروشگاه قطعات کامپیوتری(** سیستم آسایشگاه* امور مشترکین تلفن-* سیستم کنترل موجودیجوا هر فروشی همراه اه-
سیستم بستننی فروشی * سیستم مدیریت نمایشگاه * سیستم مدیریت نمایشگاه ماشین * سیستم مدیریت نمایشگاه ماشین * سیستم پذیرش بیمار* سیستمم مدیریت توزیع برق * سیستم انالیزمدارس سیستم مدیریت خدمات کامپیوتر*
* سامانه ثبت اختراعات * سیتم مدیریت دفترچه بیمه* سیتم مدیریت کافی نت وگیم نت * سیتم صدورابلاغیه * سیستم برنامه هفتگی به صورت خودکار* سیستم ثبت نام کمیته امداد* سیتم مدیریت لیگ برتر* سیتم مکانیزه لیزینگ خودرو*
فروشگاه هاست ودامین * سیستم کلاسهای کنکور و بازآموزی
سیتم مدیریت سوابق باشگاه* وب سایت نظرخواهی دانشگاهها* وب سایت انتخابات با قابلیت رای دادن "امارگیری و..*. وب سایت شرکت بیمه * فروشگاه لب تاب *


سیستم داروخانه و درمانگاه
پروژه خشک شویی
پروژه دفترچه تلفن و ماشین حساب
پروژه حسابداری و صندوق قرض الحسنه
سیستم چک و بانک
برنامه تبدیل عدد به حروف فارسی
سیستم آزمون و جعبه لایتنر
بازی (دوز)
(مارپله )(منچ)و...,(پل جادویی),( هواپیما)
پروژه های تحت وب (web)، فروشگاه الکترونیکی، کتابخانه
پروژه های آماده * دانشگاه* داروخانه * فروشگاه ورزشی* آژانس*املاک *انبارداری* سایت قطعات کامپیوتروپروژه حسابداری بودجه سالانه بهمراه کسورات
پروژه مدیریت گلخانه پروژه شجرنامه پروژه اثرانگشت* ماشین حساب
پروژه مدیریت
-برنامه و سایت آزمون از راه دور
سیستم دبیرخانه
-سیستم مکانیزه آژانس مسافرتی با امکان ثبت مسافر ، تور و ....
22-سایت ( وبلاگ ) شخصی شامل بخش مدیریت ، ورود پست ، امکان تعریف موضوعات ، لینک ها ، آرشیو ، جستجو و ...
-دفترچه تلفن ، ماشین حساب
فروشگاه اینترنتی موبایل با امکان ثبت مدل های مختلف و گوشی های هر مدل
- فروشگاه اینترنتی کتاب با امکان جستجو و ثبت موضوعات و کتابها
برنامه مکانیزه رستوران
تاکسی تلفنی
- وب سایت آگهی ها ( با امکانات ثبت آگهی، مشاهده آگهی ، جستجوی آگهی ، طبقه بندی آگهی ها )
- کتابخانه مجازی ( آنلاین ) با امکانات تعریف موضوعات ، کتاب ها ، اعضاء ، امانت کتاب ، رزرو کتاب ، بازگشت کتاب و ...
وب سایت پرداخت قبوض آب ، برق ، تلفن به صورت آنلاین
سیستم مکانیزه داروخانه
سیستم مکانیزه پیک موتوری
- سیستم ATM
سیستم امورمشترکین

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

azsoftir@gmail.com
azsoftir.com
09367292276azsoftir@gmail.com
azsoftir.com
09367292276

azsoftir@gmail.com
azsoftir.com
09367292276azsoftir@gmail.com
azsoftir.com
09367292276

azsoftir@gmail.com
azsoftir.com
09367292276azsoftir@gmail.com
azsoftir.com
09367292276

آموزش پروژه محور ASP.NET Core MVC و EF Core در

ویژگی های طراحی سایت باasp.net

استاتیک و دینامیک دوروش طراحی سایت می باشد. طراحی استاتیک نوعی  از طراحی وب است که در آن وب سایت تنها با استفاده از HTML و CSS پیاده سازی می گردد و وب سایت به دیتابیسی برای خواندن مطالب متصل نیست. وب سایت استاتیک کنترل پنلی برای مدیریت مطالب وب سایت ندارد و طراح وب سایت می تواند تغییرات لازم را در وب سایت انجام دهد که هم اکنون دوره طراحی وب سایت استاتیک سر آمده است. حال آنکه وب سایت دینامیک از طریق زبان های برنامه نویسی سمت سرور با دیتابیس در ارتباط می باشد و اطلاعات لازم را در دیتابیس ذخیره و از دیتابیس جمع آوری می نماید. وب سایت دینامیک همچنین دارای کنترل پنلی می باشد که می توان از طریق آن کنترل پنل مطالب و محتوای وب سایت را مدیریت نمود.

azsoftir@gmail.com
azsoftir.com
09367292276azsoftir@gmail.com
azsoftir.com
09367292276

azsoftir@gmail.com
azsoftir.com
09367292276azsoftir@gmail.com
azsoftir.com
09367292276

azsoftir@gmail.com
azsoftir.com
09367292276azsoftir@gmail.com
azsoftir.com
09367292276


 طراحی سایت با asp.net

ASP.net مخفف عبارت Active Server Pages بوده و بر خلاف باور اکثر علاقه مندان به دنیای برنامه نویسی،  زبان برنامه نویسی محسوب نمی شود بلکه تکنولوژی مایکروسافت برای ایجاد نرم افزارهای تحت وب است. بهترین نرم افزار برای اجرا و کار با ASP.net نرم افزار Visual Studio است که جزو یکی از بی نقص ترین و بهترین نرم افزارهای منتشر شده از طرف مایکروسافت می باشد.

برای تولید یک سایت واقعا حرفه ای به وسیله Asp.net  باید با موارد زیر حتما آشنا بود:

   تسلط به یکی از زبان های C# یا  VB

   تسلط به یکی از پایگاههای داده و زبان  SQLترجیحا خود (SQL Server)

   تسلط کامل و کافی به XML و مشتقات آن

   تسلط به  HTML، JavaScript، CSS

   آشنایی با مفاهیم  Security in .NET

   آگاهی از مفاهیم و اطلاعات پایه ی سمت سرور و کلاینت

azsoftir@gmail.com
azsoftir.com
09367292276azsoftir@gmail.com
azsoftir.com
09367292276

azsoftir@gmail.com
azsoftir.com
09367292276azsoftir@gmail.com
azsoftir.com
09367292276

azsoftir@gmail.com
azsoftir.com
09367292276azsoftir@gmail.com
azsoftir.com
09367292276


بهترین نوع برنامه نویسی یک سایت استفاده از حالت چند لایه ای می باشد. که باعث استحکام بخشیدن به ساختار سایت و تسهیل عملیات خطایابی و اشکال زدایی شده و امنیت را هم به سایت شما ارائه می کند.

مهمترین و پیچیده ترین قسمت هر نوع برنامه نویسی عمل و عکس العمل های مربوط به پایگاه داده می باشد. طراحی، کد نویسی و سازماندهی امور مربوط به دیتابیس یا پایگاه داده بیشترین وقت یک برنامه نویس را می گیرد.

یکی از ویژگی های برنامه نویسی با زبان مثلا C# برای ASP.net شیوایی این زبان هست. با وجود اینکه زبان های برنامه نویسی متفاوت دیگری نیز برای تولید صفحات وب وجود دارند، ASP.net یک زبان میانه رو هست و علاوه بر قیمت خوب پروژه هایش می تواند برای برنامه نویس بسیار لذت بخش باشد.

برخی از ویژگی های استفاده از ASP.net عبارتند از:

 امنیت در وب نیز یکی از دغدغه های مهم در دنیای مجازی است. در همین راستا. net  تدابیر امنیتی بسیار جالبی برای جلوگیری از نفوذ هکرها به کار برده است و از قدرت امنیتی بسیار بالایی برخوردار می باشد.  ASP.net این قابلیت را دارد که کدهای نوشته شده سمت سرور را به یک فایل dll تبدیل کند و آنها را encode     کند بدین ترتیب حتی اگر کسی به سرور شما نیز دسترسی داشت نتواند سورس های شما را ببیند.

هنگامی که یک صفحه   ASP.netبرای اولین بارتوسط یک مراجعه کننده به سایت فراخوانی می شود، آن صفحه ابتدا کامپایل شده و بر روی سرور نگهداشته می شود و در فراخوانی های بعدی از آن استفاده می شود. و این بدین معنی است که صفحات ASP.net خیلی سریع اجرا می شوند.

کلاس‌های آماده بسیاری در اختیار برنامه نویس قرار داده شده است که موجب سهولت کار و سریعتر انجام یافتن کار برنامه نویسی می شود.

azsoftir@gmail.com
azsoftir.com
09367292276azsoftir@gmail.com
azsoftir.com
09367292276

azsoftir@gmail.com
azsoftir.com
09367292276azsoftir@gmail.com
azsoftir.com
09367292276

azsoftir@gmail.com
azsoftir.com
09367292276azsoftir@gmail.com
azsoftir.com
09367292276

  • کدها کاملا بهینه میباشند .
  • از الگوی ریپوزیتوری (Repository) استفاده شده است . یعنی کدها مستقیم به دیتابیس درخواست نمیفرستند ! و این کار مزایای بسیاری رو فراهم میکنه که با یه سرچ کوچولو توی گوگل میتونین مزایاشو کامل مشاهده کنید .
  • این پروژه کدفیرست (Code First) میباشد . یعنی کد خودش دیتابیس رو میسازه و نیازی به ساخت دیتابیس نیست .
  • کدها کاملا تمیز و قابل فهم میباشند .
  • قالب پروژه توسط انجمن برنامه نویسان با بوت استرپ نوشته شده و کاملا ریسپانسیو هست .
  • لایه ی دیتا جدا از لایه پروژه نوشته شده تا از شلوغی و مبهم بودن کدها جلوگیری شود .
  • برای ارسال و دریافت درخواستها به دیتابیس از (Entity FrameWork) استفاده شده .
  • و …

 

برخی از ویژگی های پروژه :

  • ریسپانسیو بودن قالب
  • سرعت بالا
  • کامنت گزاری و حذف کامنت توسط ادمین
  • دسترسی اسان به پنل ادمین
  • تغییر یوزر نیم و پسورد ادمین به راحتی
  • قابلیت تایین ایتم های اسلایدر صفحه اصلی
  • داینامیک بودن تمام قالب

    azsoftir@gmail.com
    azsoftir.com
    09367292276azsoftir@gmail.com
    azsoftir.com
    09367292276

    azsoftir@gmail.com
    azsoftir.com
    09367292276azsoftir@gmail.com
    azsoftir.com
    09367292276

    azsoftir@gmail.com
    azsoftir.com
    09367292276azsoftir@gmail.com
    azsoftir.com
    09367292276

پروژه های موجود در نرم افزار asp.net

آموزش ASP.NET پروژه محور در یزد

پروژه های موجود در

نرم افزار asp.net

azsoftir@gmail.com
azsoftir.com
09367292276azsoftir@gmail.com
azsoftir.com
09367292276

azsoftir@gmail.com
azsoftir.com
09367292276azsoftir@gmail.com
azsoftir.com
09367292276

azsoftir@gmail.com
azsoftir.com
09367292276azsoftir@gmail.com
azsoftir.com
09367292276



آموزش Asp.net میتواند شما را برای طراحی وب سایت های داینامیک آماده نماید. Asp.net تکنولوژی معرفی شده از سوی ماکروسافت است.

به عبارت ساده Asp تکنولوژی ماکروسافت برای طراحی داینامیک وب سایت در طراحی سایت می باشد.

همواره Asp و php و jsp سه تکنولوژی اصلی و البته رقیب برای طراحی سایت داینامیک بوده اند. تمامی کدهای این 3 تکنولوژی در نهایت به صورت کدهای html (تگ های html) به مرورگر فرستاده می شوند. پس ابتدا باید بخش آموزش Html را خوانده و تسلط پیدا کنید و سپس آموزش Asp.net برای شما آسان میگردد.

طول دوره این آموزش ASP.NET پروژه محور در یزد 40 ساعت معادل 20 جلسه میباشد و آموزش همراه پروژه های عملی صورت میگیرد و همراه انجام پروژه های حقیقی در حال انجام شما تکنولوژی ASP.NET  را فرا میگیرید.

توجه: آموزش ASP.NET پروژه محور در یزد به صورت خصوصی و نیمه خصوصی میباشد و زیر نظر برنامه نویسان مجرب تیم طراحی وب سایت و برنامه نویسی  آلپان صورت میگیرد. محل آموزش فعلا شهرستان یزد و در محل شرکت برنامه نویسی و طراحی سایت آلپان یزد صورت میگیرد.


آموزش ASP.NET پروژه محور در یزدReviewed by Mehdi_alipanah on Sep 4Rating:

آموزش Asp.net میتواند شما را برای طراحی وب سایت های داینامیک آماده نماید. Asp.net تکنولوژی معرفی شده از سوی ماکروسافت است.

به عبارت ساده Asp تکنولوژی ماکروسافت برای طراحی داینامیک وب سایت در طراحی سایت می باشد.

azsoftir@gmail.com
azsoftir.com
09367292276azsoftir@gmail.com
azsoftir.com
09367292276

azsoftir@gmail.com
azsoftir.com
09367292276azsoftir@gmail.com
azsoftir.com
09367292276

azsoftir@gmail.com
azsoftir.com
09367292276azsoftir@gmail.com
azsoftir.com
09367292276


همواره Asp و php و jsp سه تکنولوژی اصلی و البته رقیب برای طراحی سایت داینامیک بوده اند. تمامی کدهای این 3 تکنولوژی در نهایت به صورت کدهای html (تگ های html) به مرورگر فرستاده می شوند. پس ابتدا باید بخش آموزش Html را خوانده و تسلط پیدا کنید و سپس آموزش Asp.net برای شما آسان میگردد.

طول دوره این آموزش ASP.NET پروژه محور در یزد 40 ساعت معادل 20 جلسه میباشد و آموزش همراه پروژه های عملی صورت میگیرد و همراه انجام پروژه های حقیقی در حال انجام شما تکنولوژی ASP.NET  را فرا میگیرید.

توجه: آموزش ASP.NET پروژه محور در یزد به صورت خصوصی و نیمه خصوصی میباشد و زیر نظر برنامه نویسان مجرب تیم طراحی وب سایت و برنامه نویسی  آلپان صورت میگیرد. محل آموزش فعلا شهرستان یزد و در محل شرکت برنامه نویسی و طراحی سایت آلپان یزد صورت میگیرد.

  آموزش پروژه محور و بی نظیر ASP.NET MVC5.2 در قالب پروژه وب سایت خبری
asp_news   

    اطلاعات کلی
    دمو : دارد
    سطح دوره : پیشرفته
    زمان : 35 ساعت
    تعداد قسمت : 50 قسمت
    مدرس : احمدی

۹۹,۰۰۰ تومان   
افزودن به سبد خرید

به نام خدا

با دوره آموزش پروژه محور ASP.NET در خدمت شما کاربران محترم هستیم . این دوره آموزشی حاوی نکات کاربردی و مفیدی می باشد .

در این آموزش شما در مرحله اول با نکات ابتدایی در خصوص MVC آشنا می شوید و سپس به مرحله ای می رسید که قادر خواهید بود یک وبسایت خبری استاندارد با تمام امکانات مورد نیاز را پیاده سازی کنید .

این دوره آموزش شامل 50 قسمت می باشد .

سرفصل های آموزش پروژه محور و بی نظیر ASP.NET MVC5.2 در قالب پروژه وب سایت خبری:

azsoftir@gmail.com
azsoftir.com
09367292276azsoftir@gmail.com
azsoftir.com
09367292276

azsoftir@gmail.com
azsoftir.com
09367292276azsoftir@gmail.com
azsoftir.com
09367292276

azsoftir@gmail.com
azsoftir.com
09367292276azsoftir@gmail.com
azsoftir.com
09367292276


    بررسی پیش نیازهای پروژه
    نحوه ایجاد یک پروژه ی MVC در ویژوال استودیو 2013
    نمایش یک متن ساده برای درک هرچه بهتر اجزای MVC
    ارائه توضیحات مقدماتی در خصوص مسیریابی (پیدا کردن ذهنیت)
    آشنایی با ایجاد ساختار داده و شی گرایی
    آموزش مقدماتی Linq To EntityFramework
    آموزش کاربردی SQLServer
    معرفی انواع رابطه ها و محدودیت آنها
    آموزش نحوه ایجاد رابطه بین جدول ها
    ارائه توضیحاتی در خصوص فیلدهای بانک های اطلاعاتی و جداول
    طراحی بانک اطلاعاتی پروژه
    ایجاد روابط بین جدول ها
    وارد کردن داده های اولیه در جداول
    معرفی قالب مورد استفاده در پروژه و تغییر آن متناسب با نیاز
    دانلود و نصب پک های لازم از Nuget
    ایجاد پوشه ها و دسته بندی های لازم
    آشنایی و نحوه کار با Layout
    آشنایی و نحوه کار با Partial view
    ایجاد Layout اصلی سایت و پارشیال ویوهای مربوطه
    بررسی بانک اطلاعاتی و ایجاد Model اصلی برای آن و همچنین ارتباط با بانک بصورت database first
    ایجاد متدهای مورد نیاز برای خواندن اخبار و Repository
    آموزش نحوه نمایش اخبار اصلی در صفحه اصلی سایت
    تفکیک انواع خبرها و مایش هرکدام در محل مورد نظر
    مرتب سازی خبرهای بر اساس جدیدترین اخبار
    نمایش محدود تعدادی خبر (مثلا 5 تا از جدیدترین خبرها )
    خواندن تنظیمات از بانک اطلاعاتی و اعمال آنها
    ایجاد قسمت پربازدیدترین اخبار ، پربحث ترین اخبار ، جدیدترین اخبار
    انجام تغییرات در کد های جاوااسکریپت جهت نمایش خبر در قسمت اسلایدر سایت
    ایجاد بخش تبلیغات سایت دارای زمانبندی و تاریخ تولید و انقضا
    انجام تنظیمات مربوط به نحوه نمایش دسته ها
    نمایش دسته های اصلی به همراه تصویر هر دسته در بالای سایت
     ساخت بخش دسته بندی آبشاری با امکان اضافه کردن بی نهایت زیردسته
    ایجاد صفحه ادامه خبر مخصوص هر خبر
    بررسی و کار با فرم ساز خودکار MVC
    آموزش نحوه کار با متادیتا و موارد استفاده از آن
    آموزش ایجاد Attribute روی Property ها
    مرتب سازی اجزای صفحه اختصاصی اخبار
    آموزش نحوه کار با کدهای CSS
    آموزش نحوه ایجاد بخش کامنت ها
    نحوه شناسایی نظر اصلی و پاسخ
    آموزش تنظیم و نمایش نظرات به صورتی که نظر و پاسخ آن مشخص باشد
    نحوه تبدیل تاریخ خبر به شمسی

azsoftir@gmail.com
azsoftir.com
09367292276azsoftir@gmail.com
azsoftir.com
09367292276

azsoftir@gmail.com
azsoftir.com
09367292276azsoftir@gmail.com
azsoftir.com
09367292276

azsoftir@gmail.com
azsoftir.com
09367292276azsoftir@gmail.com
azsoftir.com
09367292276

    ساخت بخش “پسندیدن” برای اخبار به دو روش Ajax و معمولی

    ایجاد بخش “نپسندیدن” برای اخبار بصورت Ajax
    ایجاد بخش Like و Dislike برای نظرات
    آموزش کار با Viewbag و نمایش پیغام مناسب به ازای ثبت شدن یا نشدن نظر
    ایجاد فرم ثبت پاسخ برای نظرات نمایش بصورت Ajax
    آموزش نحوه ایجاد فرم از طریق Partial View
    ایجاد لودینگ در هنگام ایجاد درخواست Ajax
    ساخت بخش تعداد بازدید برای هر خبر
    نمایش خبر های مرتبط با هر دسته به ازای کلیک بر روی دسته مورد نظر
    استفاده از دستورات Linq و ایجاد Join بین سه جدول جهت نمایش اخبار مرتبط با یک دسته
    ساخت منوی بالای سایت
    ساخت بخش جستجوی پیشرفته مطالب سایت
    ناقص کردن کدهای مخرب کاربر که ممکن است داخل یک تگ Input وارد بکند با بررسی یک مبحث امنیتی
    قرارا دادن صفحه بندی برای سایت با استفاده از PagedlistMVC
    ساخت بخش ارتباط با ما در سایت
    ایجاد جداول مربوطه و متادیتا ها
    بررسی Attribute های لازم برای نام گزاری و Validation ها
    استفاده از Validation های سمت کاربر
    اعتبار سنجی و بررسی صحت ایمیل با Regex
    بررسی Attribut های HttpGet و HttpPost برای اکشن های همنام
    بررسی تکی و دسته جمعی Validation های سمت سرور
    ذخیره کردن اطلاعات در بانک اطلاعاتی
    نمایش پیام های مناسب با استفاده از ViewBag ها
    بررسی SQLcommand ها در SQL server
    ساخت یک متد با استفاده از Java Script
    ساخت Action برای داده هایی که با جی کوئری گرفته می شوند
    جستجوی پیشرفته با ایجاد یک SQL commandمناسب
    آموزش طریقه استفاده از SQl command ها در Linq
    استفاده از Partial View و نمایش نتایج جستجو
    استفاده ا Loading تا زمان ارسال و دریافت داده ها به صورت Ajax
    ساخت قسمت عضویت در سایت
    استفاده از Remote  برای جلوگیری از ورود ایمیل یا نام کاربری تکراری
    استفاده از datetype
    ساخت action  برای ثبت کاربر
    آموزش نحوه آپلود تصویر و منترل سایز و قالب آن
    ساخت صفحه لاگین و نوشتن کدهای مربوط به آن
    تولید کد Captcha
    ساخت قسمت بازیابی کلمه عبور
    آموزش نحوه ارسال ایمیل با ASP.NET MVC
    گرفتن مشخصات و ارسال کلمه عبور به ایمیل کاربر
    ایجاد صفحه ای که فقط توسط کاربران لاگین کرده بتوانند باز کنند

azsoftir@gmail.com
azsoftir.com
09367292276azsoftir@gmail.com
azsoftir.com
09367292276

azsoftir@gmail.com
azsoftir.com
09367292276azsoftir@gmail.com
azsoftir.com
09367292276

azsoftir@gmail.com
azsoftir.com
09367292276azsoftir@gmail.com
azsoftir.com
09367292276

    ایجاد صفحه ای که فقط کاربران با سطح دسترسی Admin بتوانند وارد ان بشوند

    ایجاد صفحه ای که فقط کاربران با سطح دسترسی نویسنده بتوانند وارد ان بشوند
    تغییر صفحه ورود به نحوی که فقط مهمان بتواند آن را ببیند
    نمایش پیام متناسب با هر یک از موارد فوق
    ساخت  یک Layout مرتبط با صفحه مدیریت
    ساخت کلید خروج از سایت
    طراحی صفحه برای ویرایش رمز عبور
    جلوگیری از هک شدن حساب کاربری و رمز عبور
    ایجاد صفحه ویرایش حساب کاربری و تصویر
    ساخت قسمت ویرایش ایمیل
    ساخت و نمایش پنل مدیر و نویسنده بصورت مجزا
    ساخت قسمت بخش مدیریت اخبار و نمایش لیست اخبار با در نظر گرفت دسترسی
    تیدل تاریخ میلادی به شمسی
    آموزش طریقه حذف یک خبر با تمام قواعد جهت جلوگیری از افزونگی داده در بانک اطلاعاتی
    جلوگیری از حذف یک خبر توسط نویسنده ای دیگر
    ساخت قسمت بخش ویرایش خبر
    ست کردن Ckeditor  روی یک فیلد
    ساخت یک Ckeditor  سفارشی
    ساخت بخش افزودن خبر جدید
    ساخت بخش مدیریت نظرات با امکانات مورد نیاز
    نمایش نظرات به تفکیک خوانده شده ، خوانده نشده و تایید نشده
    حذف دسته بندی به روشی جدید و اعمال تغییرات روی جدول های دیگر
    مدیریت کامل دسته بندی ها و ایجاد دسته و زیر دسته بصورت بی نهایت
    مدیریت کامل کاربران ( جدا سازی کاربران فعال شده و فعال نشده ، حذف کاربران )
    مدیریت قسمت ارتباط با ما
    مدیریت قسمت تبلیغات
    جابجایی اطلاعات بین View  و Layout با استفاده از ViewBag
    نمایش عنوان سایت و متاتگ ها و خواند از بانک اطلاعاتی
    ارائه توضیحاتی در خصوص هاست دامین و نحوه تهیه ی دامین ir
    توضیحاتی در خصوص نحوه کار با کنترل پنل
    نحوه ساخت حساب کاربری و بانک اطلاعاتی
    نحوه اتصال به بانک راه دور با SQL Server
    جلوگیری از بوجود آمدن مشکلات مربوط به همخوانی نداشتن SQL Server
    آموزش نحوه پابلیش سایت
    نحوه انتقال به هاست و اجرا
    نحوه فعال کردن سیستم نمایش خطا

azsoftir@gmail.com
azsoftir.com
09367292276azsoftir@gmail.com
azsoftir.com
09367292276

azsoftir@gmail.com
azsoftir.com
09367292276azsoftir@gmail.com
azsoftir.com
09367292276

azsoftir@gmail.com
azsoftir.com
09367292276azsoftir@gmail.com
azsoftir.com
09367292276

=موزش رایگان ASP.NET Core MVC و EF Core – قسمت #1

موزش رایگان ASP.NET Core MVC و EF Core – قسمت #1



آموزش رایگان ASP.NET Core MVC و EF Core با روش Model First در ویژوال استادیو 2017 قسمت #1 را در این قسمت از وبسایت آموزش برنامه نویسی پرووید دانلود کنید.

azsoftir@gmail.com
azsoftir.com
09367292276azsoftir@gmail.com
azsoftir.com
09367292276

azsoftir@gmail.com
azsoftir.com
09367292276azsoftir@gmail.com
azsoftir.com
09367292276

azsoftir@gmail.com
azsoftir.com
09367292276azsoftir@gmail.com
azsoftir.com
09367292276


ASP.NET Core MVC چیست؟

ASP.NET Core بر پایه‌ی NET Core. استوار است و نگارشی از NET. محسوب می شود که مستقل از سیستم عامل و بدون واسط برنامه نویسی ویندوز عمل می کند . ویندوز هنوز هم سیستم عاملی برتر به حساب می آید ولی برنامه های وب نه تنها روز به روز از کاربرد و اهمیت بیشتری برخوردار می‌شوند بلکه باید بر روی سکوهای دیگری مانند فضای ابری (Cloud) هم بتوانند میزبانی (Host) شوند، ماکروسافت با معرفی ASP.NET Core گستره کارکرد NET. را افزایش داده است . به این معنی که می توان برنامه های کاربردی ASP.NET Core را بر روی بازه‌ی گسترده ای از محیط‌های مختلف میزبانی کرد هم‌اکنون می‌توانید پروژه های وب را برای Linux یا macOS هم تولید کنید.

ASP.NET Core در مقایسه با MVC نخستین ، ساده‌تر شده و برخلاف آن هیچ ارتباطی با پروژه های Web Form ندارد و از آنجا که بر پایه NET Core. بنا شده است ایجاد پروژه های وب را بر روی بسیاری از سیستم عامل های گوناگون پشتیبانی کرده و امکان میزبانی در محیط های مختلف را داراست.
ASP.NET Core تمام امکانات ASP.NET MVC را بر پایه سکوی جدید فراهم می‌کند و افزودن بر این که شامل همه‌ی کارایی های واسط کاربری وب است روش های طبیعی‌تری برای ایجاد محتوای پیچیده پیشنهاد می‌کند و امکان می‌دهد که بسیاری از کارهای کلیدی مربوط به توسعه ، مانند آزمایش های واحد یه سادگی انجام شوند.

بسته ی جامع آموزش پروژه محور ASP.NET Core MVC و EF Core با روش Model First در ویژوال استادیو 2017

به منظور یادگیری جامع این مبحث، ما بسته ی آموزشی مذکور را پیشنهاد می کنیم.
این مطالب رو حتما بخوان:

    آموزش رایگان ASP.NET Core MVC و EF Core – قسمت #5
    آموزش رایگان ASP.NET Core MVC و EF Core – قسمت #3
    آموزش رایگان ASP.NET Core MVC و EF Core – قسمت #2
    آموزش رایگان ASP.NET Core MVC و EF Core – قسمت #4
آموزش رایگان ASP.NET Core MVC و EF Core – قسمت #6
 آموزش رایگان ASP.NET Core MVC و EF Core DB First – قسمت #



کار با Visual Studio

در این مقاله، یکسری توضیحاتی در مورد ویژگی‌های کلیدی ویژوال استودیو به برنامه نویس‌های (توسعه دهنده‌های) پروژه‌های Asp.net Core MVC ارائه می‌دهیم.

 
ایجاد یک پروژه

در ابتدا یک پروژه‌ی وب جدید Asp.net core را به نام Working و بر اساس قالب Empty ایجاد می‌کنیم. سپس در کلاس startup، قابلیت MVC را فعال میکنیم (کدهای این قسمت، در فصل 5 کامل شرح داده شده‌است)
 

namespace Working
{
    public class Startup
    {
        // This method gets called by the runtime. Use this method to add services to the container.
        // For more information on how to configure your application, visit https://go.microsoft.com/fwlink/?LinkID=398940
        public void ConfigureServices(IServiceCollection services)
        {

azsoftir@gmail.com
azsoftir.com
09367292276azsoftir@gmail.com
azsoftir.com
09367292276

azsoftir@gmail.com
azsoftir.com
09367292276azsoftir@gmail.com
azsoftir.com
09367292276

azsoftir@gmail.com
azsoftir.com
09367292276azsoftir@gmail.com
azsoftir.com
09367292276

            services.AddMvc();
        }

        // This method gets called by the runtime. Use this method to configure the HTTP request pipeline.
        public void Configure(IApplicationBuilder app, IHostingEnvironment env)
        {
            if (env.IsDevelopment())
            {
                app.UseDeveloperExceptionPage();
            }

            //app.Run(async (context) =>
            //{
            //    await context.Response.WriteAsync("Hello World!");
            //});
        }
    }
}


ایجاد مدل:

یک پوشه جدید را به نام Models ایجاد می‌کنیم و بعد در این پوشه یک کلاس جدید را به نام Product ایجاد می‌کنیم و کدهای زیر را در کلاس ایجاد شده قرار میدهیم (این قسمت در فصل 5 نیز شرح داده شده‌است):

namespace Working.Models
{
    public class Product
    {
        public string Name { get; set; }
        public decimal Price { get; set; }
    }
}

برای ایجاد یک فروشگاه ساده از اشیاء محصول، من یک فایل کلاس را به نام SimpleRepository.cs به پوشه Models اضافه و از آن برای تعریف کلاس استفاده کردم.
 

namespace WorkingWithVisualStudio.Models
{
    public class SimpleRepository
    {
        private static SimpleRepository sharedRepository = new SimpleRepository();
        private Dictionary<string, Product> products = new Dictionary<string, Product>();
        public static SimpleRepository SharedRepository => sharedRepository;

        public SimpleRepository()
        {
            var initialItems = new[] { new Product { Name = "Kayak", Price = 275M }, new Product { Name = "Lifejacket", Price = 48.95M }, new Product { Name = "Soccer ball", Price = 19.50M }, new Product { Name = "Corner flag", Price = 34.95M } };
            foreach (var p in initialItems)
            {
                AddProduct(p);
            }
        }
        public IEnumerable<Product> Products => products.Values;
        public void AddProduct(Product p) => products.Add(p.Name, p);

    }

azsoftir@gmail.com
azsoftir.com
09367292276azsoftir@gmail.com
azsoftir.com
09367292276

azsoftir@gmail.com
azsoftir.com
09367292276azsoftir@gmail.com
azsoftir.com
09367292276

azsoftir@gmail.com
azsoftir.com
09367292276azsoftir@gmail.com
azsoftir.com
09367292276

}

کلاس Stores، اشیا مدل را در حافظه ذخیره می‌کند. یعنی هر تغییری را که در Model داده باشید، زمانیکه نرم افزار متوقف یا Restart شود، از بین می‌رود. یک فروشگاه ناپیوسته برای مثال در این فصل کافی است. اما این رویکردی نیست که در بسیاری از پروژه‌های واقعی استفاده شود. در فصل 8 یک مثال را پیاده سازی می‌کنیم تا اطلاعات مدل Store را به صورت مداوم در بانک اطلاعاتی ذخیره کند.

نکته: من یک مشخصه (Property) استاتیک را به نام SharedRepository تعریف کردم که دسترسی به SimpleRepository را فراهم می‌کند و می‌تواند در طول برنامه از آن استفاده شود. این بهترین کار نیست، ولی میخواهم یک مشکل رایج را که در توسعه MVC روبرو میشوید، نشان دهم. من راه بهتری را برای کار با اجزای مشترک، در فصل 18 توضیح می‌دهم.


ایجاد Controller و View

در پوشه Controllers، یک فایل جدید را به نام HomeController.cs ایجاد می‌کنیم و کدهای زیر را در آن قرار میدهیم:

namespace WorkingWithVisualStudio.Controllers
{
    public class HomeController : Controller
    {
        public IActionResult Index() => View(SimpleRepository.SharedRepository.Products);
    }
}

این یکی Action Method ایی به نام Index است که اطلاعات مدل را دریافت می‌کند و برای View پیشفرض، جهت نمایش ارسال می‌کند. برای ایجاد View هم بر روی پوشه Views/Home راست کلیک کرده و یک View را به نام index.cshtml ایجاد کنید؛ با کدهای زیر:

@{
    Layout = null;
}

<!DOCTYPE html>

<html>
<head>
    <meta name="viewport" content="width=device-width" />
    <title>>Working with Visual Studio</title>
</head>
<body>
    <table>
    <thead>
        <tr>
        <td>Name</td>
        <td>Price</td>
        </tr>
        </thead>
    <tbody>            @foreach (var p in Model)
    {<tr>
        <td>@p.Name</td>
        <td>@p.Price</td>
        </tr>}
        </tbody>
    </table>
</body>
</html>

این View شامل یک جدول است که از حلقه foreach Razor، برای ایجاد ردیف‌هایی برای هر شیء مدل استفاده می‌کند. جایی که هر ردیف، حاوی سلول‌هایی برای خواص نام و قیمت است. اگر شما برنامه کاربردی را اجرا کنید، نتایج حاصل را در شکل خواهید دید:

مدیریت بسته‌های نرم افزاری

دو نوع مختلف از بسته‌های نرم افزاری مورد نیاز برای Asp.Net Core MVC وجود دارند.

معرفی NuGet

ویژوال استودیو به همراه یک ابزار گرافیکی برای مدیریت بسته‌های NET. است که در یک پروژه گنجانده شده‌است. برای باز کردن این ابزار، گزینه Management NuGet Packages for Solution را از منوی Tools ➤ NuGet Package Manager انتخاب کنید. به این ترتیب ابزار NuGet باز می‌شود و لیستی از بسته‌هایی که قبلا نصب شده‌اند، نمایش داده می‌شود؛ همانطور که در شکل زیر نشان داده شده‌است:
 


برگه‌ی Installed، خلاصه‌ای از بسته‌هایی را که قبلا در پروژه نصب شده‌اند، نشان می‌دهد. از برگه‌ی Browse، برای یافتن و نصب بسته‌های جدید می‌توان استفاده کرد و برگه‌ی Updates، فهرست package هایی را که نسخه‌های اخیر آن‌ها منتشر شده‌اند، نمایش می‌دهد.

 
معرفی بسته‌ی MICROSOFT.ASPNETCORE.ALL

اگر شما از نسخه‌های قبلی Asp.Net Core استفاده کرده باشید، باید یک لیست طولانی از بسته‌های NuGet را به پروژه جدید خود اضافه نمایید. Asp.Net Core2 یک بسته‌ی متفاوت را به نام Microsoft.AspNetCore.All معرفی می‌کند.

پکیچ Microsoft.AspNetCore.All یک meta-package است که شامل تمام بسته‌های Nuget مورد نیاز Asp.net Core و MVC Framework است. یعنی شما دیگر نیازی به نصب تک به تک این نوع بسته‌ها ندارید و هنگامیکه برنامه خود را منتشر می‌کنید، هر بسته‌ای از بسته‌های Meta-package که مورداستفاده قرار نمی‌گیرند، حذف خواهند شد. البته این بسته در نگارش 2.1، قسمت All آن به App تغییر نام یافته‌است.
 
معرفی بسته‌های Nuget و موقعیت ذخیره سازی آن‌ها

ابزار NuGet لیست بسته‌های پروژه را در فایل projectname.csproj نگهداری می‌کند. در اینجا <projectname> با نام پروژه جایگزین میشود. برای مثال در پروژه فوق اطلاعات Nuget، در فایل WorkingWithVisualStudio.csproj ذخیره می‌شوند. ویژوال استودیو محتویات فایل csproj را در پنجره‌ی Solution Explorer نمایش نمی‌دهد. برای ویرایش این فایل، روی پروژه در پنجره‌ی Solution Explorer راست کلیک کنید و گزینه‌ی Edit WorkWithVisualStudio.csproj را از منوی باز شده، انتخاب کنید. ویژوال استودیو فایل را برای ویرایش باز می‌کند. فایل csproj یک فایل XML است و شما در آن عنصری را مانند قطعه کد زیر در آن می‌بینید که Asp.net Core Meta package را به پروژه اضافه می‌کند:

<ItemGroup>
    <PackageReference Include="Microsoft.AspNetCore.All" Version="2.0.0" />
</ItemGroup>

azsoftir@gmail.com
azsoftir.com
09367292276azsoftir@gmail.com
azsoftir.com
09367292276

azsoftir@gmail.com
azsoftir.com
09367292276azsoftir@gmail.com
azsoftir.com
09367292276

azsoftir@gmail.com
azsoftir.com
09367292276azsoftir@gmail.com
azsoftir.com
09367292276


در اینجا یک بسته با نام و شماره نسخه مورد نیاز مشخص شده‌است. اگرچه بسته Meta-Package شامل تمام ویژگی‌های مورنیاز Asp.Net Core MVC می‌باشد، اما شما هنوز هم باید بسته‌های دیگری را به پروژه اضافه کنید تا بتوانید از ویژگی‌های اضافی خاص آن‌ها استفاده کنید. این بسته‌ها را می‌توان توسط رابط‌های خط فرمان و یا ابزار گرافیکی آن اضافه کرد. حتی شما می‌توانید فایل Csproj را به صورت مستقیم ویرایش کنید و ویژوال استودیو میتواند تغییرات بسته‌ها را شناسایی کرده، دانلود و نصب کند.
 


هنگامیکه از NuGet برای اضافه کردن یک بسته به پروژه‌ی خود استفاده می‌کنید، به صورت خودکار به همراه هر بسته‌ای که به آن وابستگی دارد، نصب می‌شود. شما می‌توانید بسته‌های Nuget و وابستگی‌های آن‌ها را در SolutionExpolrer از طریق گزینه‌ی Dependencies -> Nuget مشاهده کنید که هر یک از بسته‌های موجود در فایل csproj و وابستگی‌های آن‌ها را نشان می‌دهد. برای نمونه بسته Meta-Package ASP.Net Core دارای تعداد زیادی وابستگی است؛ برخی از آنها در شکل زیر دیده میشوند:


 
معرفی Bower

یک بسته Client-Side، شامل محتوایی است که به مشتری ارسال می‌شود؛ مانند فایل‌های جاوا اسکریپت، Css Stylesheets و یا تصاویر. از Nuget برای مدیریت این نوع فایل‌ها در پروژه نیز استفاده میشود. اما اکنون Asp.Net Core MVC پشتیبانی توکاری را از یک ابزار مدیریت بسته‌های سمت کاربر، به نام Bower نیز ارائه می‌دهد. Bower یک ابزار منبع باز ( Open Source ) است که در خارج از مایکروسافت و دنیای NET. توسعه داده شده و نگهداری می‌شود.

نکته: Bower به تازگی منسوخ شده اعلام گردیده‌است. ممکن است هشدارهایی را که ابزارهای جایگزین را پیشنهاد می‌کنند نیز مشاهده کنید. با این حال پشتیبانی از Bower با ویژوال استودیو یکپارچه شده‌است و در نگارش 2.1 ابزار مدیریت سمت کلاینت جدید دیگری را نیز بجای آن معرفی کرده‌اند.
 

معرفی لیست بسته‌های Bower

بسته‌های Bower از طریق فایل ویژه‌ی bower.json مشخص می‌شوند. برای ایجاد این فایل در پنجره Solution Explorer روی پروژه WorkingWithVisualStudio راست کلیک کنید و Add -> New Item را از منوی باز شده انتخاب کنید. سپس قالب مورد نظر Bower Configuration File را از Asp.net Core -> Web -> General  Category انتخاب نمائید؛ مانند تصویر زیر:
 


ویژوال استودیو نام bower.json را برای آن قرار میدهد. برروی ok کلیک می‌کنیم و یک فایل جدید، با محتویات پیشفرض زیر به پروژه اضافه میشود:

{
  "name": "asp.net",
  "private": true,
  "dependencies": {}
}

به علاوه برای فایل Bower.json، تصویر زیر بسته‌های Client Side وابسته به Bower را نشان میدهد. از این قسمت برای اضافه کردن وابستگی‌های برنامه نیز استفاده میشود.


نکته: منبع بسته‌های Bower در لینک http://bower.io/search وجود دارد. شما می‌توانید بسته‌ها مورنظر را در اینجا جستجو و به پروژه اضافه کنید.

بعد از اینکه بسته‌ها نصب شدند، محتویات فایل bower.json به صورت زیر می‌باشد:

{
  "name": "asp.net",
  "private": true,
  "resolutions": {
    "jquery": "3.3.1"
  }
}


در ادامه بسته Bootstrap CSS به پروژه اضافه شده‌است. زمانیکه شما فایل Bower.json را ویرایش می‌کنید، ویژوال استادیو لیستی از نام بسته‌ها و نسخه‌های بسته‌های موجود را نمایش می‌دهد؛ مانند تصویر زیر:


در زمان نوشتن این مطلب، آخرین نسخه‌ی پایدار بسته بوت استرپ، 3،3،7 است. البته اگر در دقت کنید، در اینجا سه گزینه‌ی ارائه شده‌ی توسط ویژوال استودیو وجود دارند: 3.3.7 و 3.3.7^ و 3.3.7~. شماره نسخه می‌تواند در طیف وسیعی از روش‌های مختلف در فایل bower.json مشخص شود. مفیدترین آنها در جدول زیر شرح داده شده‌اند. استفاده از شماره نسخه صریح یک بسته، امن‌ترین راه برای مشخص کردن یک بسته است. این تضمین می‌کند که شما همیشه با همان نسخه کار می‌کنید؛ مگر اینکه عمدا فایل bower.json را برای پاسخ گویی به درخواست‌های دیگری به روز رسانی کنید:
  فرمت        توضیحات
  3.3.7      بیان شماره مستقیم بسته نصب شده و تطبیق دقیق آن با شمار نسخه ، e.g ، 3.3.7
  *      با استفاده از یک ستاره به Bower اجازه نصب آخرین نسخه را می‌دهد
3.3.7 =<3.3.7<
    پیشوند یک شماره نسخه با < یا =< به Bower اجازه می‌دهد تا هر نسخه از بسته‌ای که بزرگتر یا بزرگتر مساوی آن نسخه‌ی معین است، نصب شود
3.3.7 =>3.3.7>
    پیشوند یک شماره نسخه با > یا => به Bower اجازه می‌دهد تا هر نسخه از بسته‌ای را که کوچکتر یا کوچکتر و مساوی نسخه‌ی معین است، نصب شود
  3.3.7~      پیشوند یک شماره نسخه با یک tilde (با کاراکتر ~ ) به نسخه‌هایی که دو شماره اولیه آن‌ها مشابه باشند، اجازه نصب میدهد؛ حتی اگر شماره آخر آن نسخه متفاوت باشد. مانند نسخه‌های 3.3.9 و 3.3.8 و اجازه نصب نسخه 3.4.0 را نمیدهد؛ چون شماره دوم آن متفاوت است.
  3.3.7^      پیشوند یک شماره نسخه با یک قلم (کاراکتر ^) به نسخه‌هایی که شماره اول آنها مشابه باشند، اجازه نصب می‌دهد؛ حتی اگر شماره دوم آن‌ها متفاوت باشد. مانند نسخه‌های 3.3.1 و 3.4.1 و 3.5.1 اما نسخه 4.0.0 اجازه نصب ندارد
 
نکته: برای مثال در این کتاب، من فایل bower.json را مستقیما ایجاد و ویرایش می‌کنم. ویرایش این فایل ساده است و به شما کمک می‌کند تا اطمینان حاصل کنید که نتایج مورد انتظار را در صورت پیگیری به همراه داشته باشد. همچنین ویژوال استودیو ابزار گرافیکی را نیز برای مدیریت بسته‌های bower فراهم می‌کند. شما می‌توانید با کلیک راست بر روی فایل bower.json و انتخاب Manage Bower packages به منوی باز شده دسترسی داشته باشید. ویژوال استادیو فایلهای bower.json را برای تغییرات نظارت می‌کند و به صورت خودکار از ابزار Bower برای دانلود و نصب بسته‌ها استفاده می‌کند. هنگامیکه شما تغییرات فایل را ذخیره می‌کنید، ویژوال استودیو بسته‌ی BootStrap را دانلود می‌کند و در پوشه‌ی wwwroot/lib ذخیره می‌کند.


مانند Nuget نیز Bower وابستگی‌های مرتبط با بسته‌های اضافه شده‌ی به یک پروژه را مدیریت می‌کند. BootStrap برای دسترسی به برخی از ویژگی‌های پیشرفته، به JQuery که یک کتابخانه‌ی جاوا اسکریپتی است، تکیه می‌کند. به همین دلیل است که دو بسته را در شکل فوق نشان داده است. شما می‌توانید لیست بسته‌ها و وابستگی‌های آنها را به صورت باز شده در بخش مورد نظر در Solution Explorer مشاهده کنید.

به روزرسانی بسته Bootstrap

azsoftir@gmail.com
azsoftir.com
09367292276azsoftir@gmail.com
azsoftir.com
09367292276

azsoftir@gmail.com
azsoftir.com
09367292276azsoftir@gmail.com
azsoftir.com
09367292276

azsoftir@gmail.com
azsoftir.com
09367292276azsoftir@gmail.com
azsoftir.com
09367292276


در ادامه کتاب، من از نسخه قبلی Bootstrap CSS framework استفاده می‌کنم. هنگامی که دارم این را می‌نویسم، تیم Bootstrap در حال توسعه‌ی نسخه‌ی 4 bootStrap است و چندین بار منتشر شده‌است. این نسخه‌ها به عنوان "آلفا" برچسب گذاری شده‌اند، اما کیفیت آن‌ها بالا است و برای استفاده در نمونه‌های این کتاب به اندازه کافی پایدار است. با توجه به انتخاب نوشتن این کتاب با استفاده از Bootstrap 3 و نسخه پیش از نسخه بوت استرپ 4 و به زودی بایگانی شدن آن، تصمیم گرفتم از نسخه جدید استفاده کنم؛ حتی اگر برخی از نام‌های کلاس‌ها که برای شیوه نامه‌های عناصر HTML استفاده می‌شوند، احتمالا قبل از انتشار نهایی تغییر یابند. این مورد به این معنا است که شما باید همان نسخه از Bootstrap را که برای گرفتن نتایج موردنظر از خروجی نیاز دارید، استفاده  کنید.

برای به روزرسانی بسته Bootstrap، شماره نسخه را در فایل bower.json تغییر دهید. مانند کد زیر:

{
  "name": "asp.net",
  "private": true,
  "dependencies": {
    "bootstrap": "4.0.0-alpha.6"
  }
}

زمانی که شما تغییرات فایل bower.json را ذخیره می‌کنید، ویژوال استودیو نسخه جدید BootStrap را دانلود می‌کند.
معرفی توسعه و کامپایل مداوم

توسعه نرم افزار وب اغلب می‌تواند یک فرآیند تکراری باشد، جایی که تغییرات کوچکی را به ویووها یا کلاس‌ها می‌دهید و برنامه را اجرا می‌کنید تا اثرات آن را آزمایش کنید. MVC و ویژوال استودیو همکاری می‌کنند تا از این رویکرد مداوم استفاده کنند تا تغییرات را سریع‌تر و آسان‌تر ببینید.

 اعمال تغییرات در Razor Views 
در زمان توسعه، تغییراتی که به Razor View اعمال میشوند، به محض رسیدن درخواست‌های HTTP، از مرورگر دریافت میشوند. برای اینکه ببینید چطور کار می‌کند، برنامه را با انتخاب گزینه Start Debugging از منوی Debug اجرا کنید و هنگامیکه یک برگه‌ی مرورگر باز شد و اطلاعات نمایش داده شد، تغییراتی را که در زیر نمایش میدهم در فایل Index.cshtml اعمال کنید.

Code
تغییرات را در فایل Index ذخیره می‌کنیم و صفحه وب را با استفاده از دکمه browser Reload مجددا بارگذاری می‌کنیم. تغییرات در View (یک عنوان و فرمت را برای مشخصه Price به عنوان ارز وارد کردیم) در مرورگر هم اعمال شده است؛ مانند تصویر زیر:



اعمال تغییرات در کلاس‌های #C

برای کلاس‌های #C، از جمله کنترلرها و مدل‌ها، دو رویکرد موجود را که از طریق آیتم‌های مختلف در منوی Debug انتخاب می‌شوند، شرح می‌دهم:

azsoftir@gmail.com
azsoftir.com
09367292276azsoftir@gmail.com
azsoftir.com
09367292276

azsoftir@gmail.com
azsoftir.com
09367292276azsoftir@gmail.com
azsoftir.com
09367292276

azsoftir@gmail.com
azsoftir.com
09367292276azsoftir@gmail.com
azsoftir.com
09367292276


Start Without Debugging
تغییرات در کلاس‌ها در پروژه به صورت خودکار زمانیکه یک درخواست HTTP دریافت می‌شود، برای مشاهده‌ی یک تجربه‌ی توسعه‌ی پویا، کامپایل می‌شوند. در این حالت برنامه بدون امکانات دیباگ و اشکال‌زادیی اجرا می‌شود.

Start Debugging
به شما اجزا میدهد صریح تغییرات را کامپایل کنید و برنامه را اجرا کنید ، بررسی مشکلات هم در زمان اجرا پروژه انجام میگیرد.به شما اجرا بررسی و تجزیه و تحلیل هر گونه مشکل در کد را میدهد.

 
کامپایل خودکار کلاس ها

در طول توسعه عادی، این چرخه کامپایل سریع به شما اجازه می‌دهد تا فورا تاثیر تغییرات خود را ببینید؛ حالا می‌تواند این تغییر اضافه نمودن یک اکشن جدید و یا ویرایش نمایش اطلاعات یک Model باشد. برای ارائه‌ی این نوع از توسعه، ویژوال استودیو به محض رسیدن درخواست HTTP از مرورگر، تغییرات را دریافت و کلاس‌ها را به صورت خودکار کامپایل می‌کند. برای دیدن اینکه چگونه کار می‌کند، گزینه Start Without Debugging را از منوی Debug در ویژوال استودیو انتخاب کنید. هنگامیکه مرورگر داده‌های برنامه را نمایش می‌دهد، تغییرات زیر را در فایل Home controller ایجاد کنید:

namespace WorkingWithVisualStudio.Controllers
{
    public class HomeController : Controller
    {
        public IActionResult Index() => View(SimpleRepository.SharedRepository.Products
            .Where(p => p.Price < 50));
    }
}

در این تغییرات با استفاده از LINQ محصولات را فیلتر می‌کنیم به طوری که فقط کالاهایی را که price آنها کمتر از 50 است، نمایش داده می‌شوند. تغییرات را در فایل کلاس controller ذخیره کنید و پنجره مرورگر را دوباره باز کنید. بدون توقف و یا راه اندازی مجدد برنامه در ویژوال استادیو، درخواست HTTP از مرورگر باعث عملیات کامپایل میشود و برنامه با استفاده از تغییرات کلاس Controller، دوباره راه اندازی خواهد شد و نتیجه را در زیر میتوانید ببینیدکه محصولات Kayak را از جدول حذف می‌کند.

azsoftir@gmail.com
azsoftir.com
09367292276azsoftir@gmail.com
azsoftir.com
09367292276

azsoftir@gmail.com
azsoftir.com
09367292276azsoftir@gmail.com
azsoftir.com
09367292276

azsoftir@gmail.com
azsoftir.com
09367292276azsoftir@gmail.com
azsoftir.com
09367292276


ویژگی کامپایل خودکار زمانی مفید است که همه چیز برنامه ریزی شود. مشکل این است که خطاهای کامپایلر، در زمان اجرا و در مرورگر بجای ویژوال استودیو نمایش داده می‌شوند. در این حالت زمانیکه یک مشکل وجود دارد، سخت می‌توان متوجه شد که چه مشکلی ایجاد شده است. برای مثال، کدهای زیر اضافه کردن یک مقدار Null را به مجموعه نمایش میدهد.

namespace WorkingWithVisualStudio.Models
{
    public class SimpleRepository
    {
        private static SimpleRepository sharedRepository = new SimpleRepository();
        private Dictionary<string, Product> products = new Dictionary<string, Product>();
        public static SimpleRepository SharedRepository => sharedRepository;

        public SimpleRepository()
        {
            var initialItems = new[] { new Product { Name = "Kayak", Price = 275M }, new Product { Name = "Lifejacket", Price = 48.95M }, new Product { Name = "Soccer ball", Price = 19.50M }, new Product { Name = "Corner flag", Price = 34.95M } };
            foreach (var p in initialItems)
            {
                AddProduct(p);
            }
            products.Add("Error", null);
        }
        public IEnumerable<Product> Products => products.Values;
        public void AddProduct(Product p) => products.Add(p.Name, p);

    }
}

مشکلی مانند ورودی Null تا زمانیکه برنامه اجرا نشود، نمایش داده نمیشود. بارگذاری صفحه مرورگر باعث می‌شود کلاس SimpleRepository به صورت خودکار کامپایل شود و برنامه دوباره راه اندازی خواهد شد. هنگامیکه MVC نمونه‌ای از کلاس Controller را برای پردازش درخواست HTTP از مرورگر ایجاد می‌کند، سازنده HomeController کلاس SimpleRepository را ایجاد خواهد کرد که به نوبه خود سعی می‌کند مقدار Null اضافه شده در لیست را پردازش کند. مقدار Null باعث بروز یک مشکل می‌شود، اما مشخص نیست مشکل چیست. مرورگر یک پیام مفید را نمایش نمی‌دهد.
توانایی نمایش صفحات خطاها 
زمانیکه مشکلی در پنجره‌ی مرورگر ایجاد شد، می‌توان یک راهنمای با اطلاعات مفید را نمایش داد. این قابلیت را می‌توانید با فعال کردن نمایش صفحات انجام داد که باید در تنظیمات کلاس Startup تغییرات زیر را اعمال کنید.

namespace WorkingWithVisualStudio
{
    public class Startup
    {
        // This method gets called by the runtime. Use this method to add services to the container.
        // For more information on how to configure your application, visit https://go.microsoft.com/fwlink/?LinkID=398940
        public void ConfigureServices(IServiceCollection services)
        {
            services.AddMvc();
        }

        // This method gets called by the runtime. Use this method to configure the HTTP request pipeline.
        public void Configure(IApplicationBuilder app, IHostingEnvironment env)
        {
            if (env.IsDevelopment())
            {
                app.UseDeveloperExceptionPage();
                app.UseDeveloperExceptionPage();
            }
        }
    }
}

azsoftir@gmail.com
azsoftir.com
09367292276azsoftir@gmail.com
azsoftir.com
09367292276

azsoftir@gmail.com
azsoftir.com
09367292276azsoftir@gmail.com
azsoftir.com
09367292276

azsoftir@gmail.com
azsoftir.com
09367292276azsoftir@gmail.com
azsoftir.com
09367292276


اگر پنجره مرورگر را دوباره بارگذاری کنید، فرآیند کامپایل خودکار به صورت خودکار برنامه را بازسازی می‌کند و یک پیام خطای مفید‌تری را در مرورگر ایجاد می‌کند. مانند تصویر زیر:

پیام خطایی که توسط مرورگر نشان داده می‌شود، می‌تواند برای کشف مشکلات ساده، کافی باشد. اما برای مشکلات پیچیده‌تر و برای مشکلاتی که بلافاصله آشکار نمی‌شوند، ویژوال استودیو برای پیگیری خطا مورد نیاز است.

 
استفاده از Debugger

ویژوال استادیو از اجرای یک برنامه MVC با استفاده از Debugger نیز پشتیبانی می‌کند که اجازه می‌دهد برنامه برای بررسی وضعیت نرم افزار و دنبال کردن درخواستی که به برنامه ارسال میشود، متوقف و از این طریق، پیگیری شود. این مورد نیاز به یک سبک متفاوت از توسعه را دارد. زیرا تغییراتی را در کلاس‌های #C میدهیم، تا زمانیکه برنامه مجددا راه اندازی نشود، اعمال نمی‌شوند ( هرچند تغییرات Razor View هنوز هم به صورت خودکار اعمال میشوند). این سبک توسعه به همراه استفاده‌ی از ویژگی کامپایل خودکار نیست؛ اما Debugger ویژوال استودیو عالی است و می‌تواند بینش عمیق‌تری را در مورد نحوه‌ی کارکرد برنامه داشته باشد. برای اجرای برنامه با استفاده Debugger، در ویژوال استودیو از منوی Debug گزینه‌ی Start Debugging را انتخاب کنید. ویژوال استودیو کلاسهای #C در پروژه را قبل از اجرای برنامه کامپایل می‌کند. اما شما همچنان می‌توانید با استفاده از موارد موجود در منوی Build، کد خود را به صورت دستی نیز کامپایل کنید.

مثال فوق حاوی مقدار NULL است که سبب می‌شود یک NullReferenceException توسط کلاس SimpleRepository پرتاب شود. این حالت برنامه را قطع و کنترل اجرا را به توسعه دهنده منتقل می‌کند؛ همانطور که در شکل زیر نشان داده شده است

azsoftir@gmail.com
azsoftir.com
09367292276azsoftir@gmail.com
azsoftir.com
09367292276

azsoftir@gmail.com
azsoftir.com
09367292276azsoftir@gmail.com
azsoftir.com
09367292276

azsoftir@gmail.com
azsoftir.com
09367292276azsoftir@gmail.com
azsoftir.com
09367292276




نکته: اگر Debugger خطا را نفهمد، گزینه‌ی Windows ➤ exception settings را از منوی Debugger ویژوال استودیو انتخاب کنید و اطمینان حاصل کنید که تمام انواع خطاهای در لیست خطاهای زمان اجرای زبان مشترک، تایید شده‌است.
تنظیم یک Break-point

Debugger عامل اصلی خطا را نمایش نمی‌دهد؛ تنها مکان آن‌را آشکار می‌کند. عبارتیکه ویژوال استودیو برجسته می‌کند نشان می‌دهد که این مشکل زمانی رخ می‌دهد که فیلتر کردن اشیاء با استفاده از LINQ انجام شود، اما یک کار کوچک لازم است تا از جزئیات کاسته شود و به علت اصلی برسد.
Breakpoint عبارتی است که به Debugger می‌گوید تا برنامه را متوقف کند و کنترل دستی برنامه را به برنامه نویس میدهد. شما می‌توانید وضعیت برنامه را بازبینی کنید و ببینید چه اتفاقی می‌افتد و به صورت اختیاری روند کاری را دوباره ادامه دهید.
برای ایجاد Breakpoint، روی عبارت راست کلیک کنید و در منوی باز شده، گزینه Breakpoint -> Insert Breakpoint را انتخاب کنید.

به عنوان مثال: یک Breakpoint به خط کد AddProduct در کلاس SimpleRepository اعمال کنید. همانطور که در شکل زیر نمایش داده میشود:
 


برنامه را اجرا کنید؛ با استفاده از Debug -> Start Debugging و یا با استفاده از Debug -> Restart برنامه را Restart می‌کنیم. در طی درخواست اولیه HTTP، برنامه اجرا میشود تا به نقطه‌ای که Break Point دارد برسد و در آنجا برنامه متوقف میشود. در این نقطه، شما می‌توانید از آیتم‌های منوی Debug ویژوال استودیو یا کنترل‌ها در بالای پنجره، برای کنترل اجرای برنامه استفاده کنید؛ یا از نمایش‌های مختلف Debugger موجود از طریق Debug -> Windows برای بررسی وضعیت برنامه استفاده می‌کنیم.
مشاهده مقادیر داده در ویرایشگر کد
رایج‌ترین استفاده Break Point، ردیابی مشکلات در کد شماست. قبل از اینکه بتوانید یک مشکل را رفع کنید، باید بدانید چه اتفاقی در حال رخ دادن است و یکی از ویژگیهای مفید ویژوال استودیو این است که توانایی مشاهده و کنترل ارزش متغیرها را درست در ویرایشگر کد، میدهد.
اگر اشاره‌گر ماوس را بر روی پارامتر p به متد AddProduct که توسط Debugger برجسته شده‌است، حرکت دهید، یک فرم ظاهر خواهد شد که ارزش فعلی p را نشان می‌دهد؛ همانطور که در شکل زیر نشان داده شده‌است. من یک نمونه بزرگ شده از محتویات فرم ظاهر شده را نمایش میدهم تا به راحتی بتوانید متن در آن را بخوانید.
 


این مورد ممکن است مؤثر به نظر نرسد، چون شیء داده در یک سازنده همانند BreakPoint تعریف شده‌است. اما این ویژگی‌ها برای هر متغیری کار می‌کند. شما می‌توانید مقادیر را مشاهده کنید تا مقادیر خود و فیلد آنها را ببینید. هر مقدار دارای یک دکمه پین​​ کوچک به سمت راست است. برای زمانیکه کد در حال اجراست، برای نظارت بر مقدار، از آن استفاده کنید.
اشاره‌گر ماوس را بر روی متغیر P قرار دهید و مرجع محصول را پین کنید. مرجع پیوست شده را باز کنید تا بتوانید نام و قیمت را نیز ببینید؛ مانند شکل زیر:
 


گزینه Continue را از منوی Debug در ویژوال استادیو انتخاب کنید تا برنامه ادامه پیدا کند. از آنجا که در برنامه حلقه Foreach وجود دارد، برنامه که دوباره اجرا میشود، وقتی مجددا به BreakPoint رسید، برنامه متوقف میشود. مقادیر پین شده در شکل زیر نشان میدهند که چگونه متغیر P و خواص آن تغییر می‌کنند.
 


استفاده از پنجره متغیرهای محلی ( Local Windows )

یکی از ویژگی‌های مرتبط، پنجره Locals است که با انتخاب گزینه‌ی منوی Debug ➤ Windows ➤ Locals باز می‌شود. پنجره‌ی Locals، مقدار متغیرها را به شکلی مشابه پنل پین شده نمایش می‌دهد، اما در اینجا تمام اشیاء محلی را نسبت به Break Point نمایش می‌دهد؛ همانطور که در شکل زیر نشان داده شده‌است:
 


هربار که Continue را انتخاب می‌کنید، اجرای برنامه ادامه یافته و یک شیء دیگر توسط حلقه foreach پردازش می‌شود.
اگر ادامه دهید، در زمان ویرایش کد، در هر دو پنجره Locals و در مقادیر پنل پین شده، شما مرجع Null را می‌بینید. برای کنترل اجرای برنامه، می‌توانید جریان را از طریق کد خود در دیباگر دنبال کنید و احساس کنید که چه اتفاقی می‌افتد.

azsoftir@gmail.com
azsoftir.com
09367292276azsoftir@gmail.com
azsoftir.com
09367292276

azsoftir@gmail.com
azsoftir.com
09367292276azsoftir@gmail.com
azsoftir.com
09367292276

azsoftir@gmail.com
azsoftir.com
09367292276azsoftir@gmail.com
azsoftir.com
09367292276


برای غیرفعال کردن BreakPoint، روی  عبارت راست کلیک کنید و از منوی باز شده گزینه Delete BreakPoint را انتخاب کنید. برنامه را دوباره راه اندازی کنید و جدول داده ساده‌ای را که در شکل نشان داده شده، مشاهده خواهید کرد.


 
استفاده از Browser Link

ویژگی Browser Link می‌تواند روند توسعه را با قرار دادن یک یا چند مرورگر تحت کنترل ویژوال استودیو، ساده سازی کند. این ویژگی مخصوصا مفید است اگر شما نیاز به دیدن اثر تغییرات را در طیف وسیعی از مرورگرها دارید. قابلیت Browser Link با و یا بدون Debugger کار می‌کند و به این معنا است که می‌توانیم هر فایلی را در پروژه تغییر دهیم و تاثیر تغییر را بدون نیاز به تغییری در مرورگر مشاهده کنیم.

 
راه اندازی BrowserLink

برای فعال کردن Browser Link باید در کلاس Startup، تنظیمات را تغییر دهید. مانند کد زیر:

namespace WorkingWithVisualStudio
{
    public class Startup
    {
        // This method gets called by the runtime. Use this method to add services to the container.
        // For more information on how to configure your application, visit https://go.microsoft.com/fwlink/?LinkID=398940
        public void ConfigureServices(IServiceCollection services)
        {
            services.AddMvc();
        }

        // This method gets called by the runtime. Use this method to configure the HTTP request pipeline.
        public void Configure(IApplicationBuilder app, IHostingEnvironment env)
        {
            if (env.IsDevelopment())
            {
                app.UseDeveloperExceptionPage();
                app.UseBrowserLink();
                app.UseDeveloperExceptionPage();
            }

azsoftir@gmail.com
azsoftir.com
09367292276azsoftir@gmail.com
azsoftir.com
09367292276

azsoftir@gmail.com
azsoftir.com
09367292276azsoftir@gmail.com
azsoftir.com
09367292276

azsoftir@gmail.com
azsoftir.com
09367292276azsoftir@gmail.com
azsoftir.com
09367292276


            app.Run(async (context) =>
            {
                await context.Response.WriteAsync("Hello World!");
            });
        }
    }
}



استفاده از Browser Link

برای درک اینکه Browser Link چگونه کار می‌کند، در ویژوال استودیو گزینه Start Without Debugging را از منوی Debug انتخاب می‌کنیم. ویژوال استودیو برنامه را اجرا می‌کند و یک برگه جدید مرورگر را برای نمایش نتیجه باز می‌کند. با بازبینی HTML ارسال شده به مرورگر، شما خواهید دید که حاوی بخش دیگری مانند این است:
 

<!DOCTYPE html>

<html>
<head>
    <meta name="viewport" content="width=device-width" />
    <title>>Working with Visual Studio</title>
</head>
<body>
    <h3>Products</h3>
    <table>
        <thead>
            <tr><td>Name</td><td>Price</td></tr>
        </thead>
        <tbody>
            <tr><td>Lifejacket</td><td>&#xA3;48.95</td></tr>
            <tr><td>Soccer ball</td><td>&#xA3;19.50</td></tr>
            <tr><td>Corner flag</td><td>&#xA3;34.95</td></tr>
        </tbody>
    </table>
    <!-- Visual Studio Browser Link -->
    <script type="application/json" id="__browserLink_initializationData">
        {"requestId":"968949d8affc47c4a9c6326de21dfa03","requestMappingFromServer":false}
    </script>
    <script type="text/javascript" src="http://localhost:55356/d1a038413c804e178ef009a3be07b262/browserLink" async="async"></script> <!-- End Browser Link -->
</body>
</html>

نکته: اگر قسمت اضافی را نمی‌بینید، لینک مرورگر را از منوی نشان داده شده‌ی در شکل زیر فعال کنید و مرورگر را دوباره بارگذاری کنید.


ویژوال استادیو یک جفت عناصر اسکریپت را به HTML فرستاده شده‌ی به مرورگر اضافه می‌کند که برای بازکردن یک اتصال طولانی مدت HTTP با سرور برنامه کاربردی است؛ تا زمانیکه ویژوال استودیو مجددا برنامه را ری‌استارت کند. کد زیر تغییر در فایل Index و تاثیر استفاده از Browser Link را نشان میدهد.
 

Code
تغییر در فایل View را ذخیره کنید و Refresh Linked Browsers را از منوی Browser Link در نوار ابزار ویژوال استودیو انتخاب کنید؛ همانطور که در شکل نشان داده شده است.  اگر Browser Link کار نمی‌کند، بارگیری مجدد مرورگر یا راه اندازی مجدد ویژوال استادیو را امتحان کنید).
 

azsoftir@gmail.com
azsoftir.com
09367292276azsoftir@gmail.com
azsoftir.com
09367292276

azsoftir@gmail.com
azsoftir.com
09367292276azsoftir@gmail.com
azsoftir.com
09367292276

azsoftir@gmail.com
azsoftir.com
09367292276azsoftir@gmail.com
azsoftir.com
09367292276



کد جاوا اسکریپتی که در HTML ارسال شده به مرورگر جاسازی شده، صحفه را دوباره بارگذاری می‌کند؛ برای دیدن تاثیرات کد اضافه شده که اضافه کردن  یک timestamp ساده است.
 
نکته: عناصر اسکریپت Browser Link فقط در پاسخ‌های موفق جاسازی شده است. به این معنا که اگر یک خطا هنگام کامپایل در هنگام اجرا کردن یک Razor View یا مدیریت یک درخواست ایجاد شود، اتصال بین مرورگر و ویژوال استودیو از بین میرود و شما بعد از حل مشکل باید صفحه را مجدد بارگذاری کنید.

 
استفاده از مرورگرهای متعدد

Browser Link می‌تواند برای نمایش یک برنامه در مرورگرهای متعددی به طور همزمان استفاده شود و می‌تواند زمانی مفید باشد که شما می‌خواهید تفاوت‌های پیاده سازی را بین مرورگرهای مختلف کنترل کنید و یا ببینید که چگونه یک برنامه بر روی ترکیبی از مرورگرهای دسکتاپ و تلفن همراه ارائه می‌شود.
برای انتخاب مرورگرهایی که استفاده می‌شوند، مرورگر را با استفاده از دکمه IIS Express در نوار ابزار ویژوال استودیو، انتخاب کنید؛ همانطور که در شکل زیر نشان داده شده است.
 


ویژوال استودیو لیستی از مرورگرهایی را که در مورد آنها اطلاعاتی دارد، نمایش میدهد. در عکس زیر مرورگرهایی را که من در سیستم خود نصب کرده‌ام، نشان می‌دهد. برخی از آنها با ویندوز مانند Internet Explorer و Edge نصب می‌شوند.

 
ویژوال استادیو معمولا مرورگرهای رایجی را که نصب میشوند، نمایش میدهد. اما شما می‌توانید با استفاده از دکمه‌ی Add، برای اضافه کردن مرورگری که به صورت خودکار لیست نشده نیز استفاده کنید. همچنین می‌توانید ابزار تست شخص ثالث مانند Browser Stack را نیز راه اندازی کنید که مرورگرها را بر روی سرویس‌های ابری میزبان ( cloud-hosted ) و ماشین‌های مجازی اجرا می‌کند.

من سه مرورگر را در شکل انتخاب کردم: Chrome ، Internet Explorer و Edge. با کلیک بر روی دکمه Browse، فعالیت هر سه مرورگر شروع می‌شود و باعث می‌شود URL مثال برنامه را بارگذاری کند؛ همانطور که در شکل نشان داده شده است.
 


با استفاده از منوی Browser Link Dashboard، شما می‌توانید ببینید که چه مرورگرهایی در Browser Link انتخاب شده‌اند. داشبورد آن نشانی اینترنتی نمایش داده شده توسط هر مرورگر را نشان می‌دهد و در اینجا هر مرورگر را می‌توان به صورت جداگانه رفرش کرد.
 


آماده سازی جاوا اسکریپت و CSS برای استقرار

هنگامی که Client-Side بخشی از یک برنامه وب را ایجاد می‌کنید، معمولا تعدادی از فایل‌های جاوا اسکریپت و CSS سفارشی را تهیه می‌کنید که برای تکمیل آن‌ها، از بسته‌های نصب شده‌ی توسط Bower استفاده می‌شود. این فایل‌ها نیاز به پردازش دارند تا آنها را برای تحویل در یک محیط تولید، بهینه سازی کنند تا تعداد درخواستهای HTTP و میزان پهنای باند شبکه مورد نیاز برای ارسال آنها به مشتری، به حداقل برسد. این فرآیند به عنوان بسته بندی شناخته می‌شود.
 

فعال کردن تحویل محتوای استاتیک

ASP.Net Core شامل پشتیبانی از ارائه فایل‌های استاتیک از پوشه wwwroot به مشتریان است. اما این امکان به صورت پیشفرض در زمان ایجاد یک پروژه‌ی خالی جدید فعال نیست و شما باید با قرار دادن عبارتی در فایل StartUp آن را فعال کنید؛ مانند کد زیر:
 

namespace WorkingWithVisualStudio
{
    public class Startup
    {
        // This method gets called by the runtime. Use this method to add services to the container.
        // For more information on how to configure your application, visit https://go.microsoft.com/fwlink/?LinkID=398940
        public void ConfigureServices(IServiceCollection services)
        {
            services.AddMvc();
        }

azsoftir@gmail.com
azsoftir.com
09367292276azsoftir@gmail.com
azsoftir.com
09367292276

azsoftir@gmail.com
azsoftir.com
09367292276azsoftir@gmail.com
azsoftir.com
09367292276

azsoftir@gmail.com
azsoftir.com
09367292276azsoftir@gmail.com
azsoftir.com
09367292276


        // This method gets called by the runtime. Use this method to configure the HTTP request pipeline.
        public void Configure(IApplicationBuilder app, IHostingEnvironment env)
        {
            if (env.IsDevelopment())
            {
                app.UseDeveloperExceptionPage();
                app.UseBrowserLink();
                app.UseStaticFiles();
                app.UseDeveloperExceptionPage();
            }

            app.Run(async (context) =>
            {
                await context.Response.WriteAsync("Hello World!");
            });
        }
    }
}



اضافه کردن محتوای استاتیک به پروژه

برای نشان دادن فرآیند بسته بندی، من نیاز به اضافه کردن تعدادی محتوای استاتیک به پروژه و یکی کردن آن‌ها با برنامه‌ی نمونه را دارم. برای این منظور ابتدا یک پوشه‌ی جدید را به نام wwwroot/css ایجاد کنید که محل متداولی برای فایل‌های سفارشی CSS است. من فایلی را به نام First.css با استفاده از قالب آیتم Style Sheet اضافه کردم؛ همانطور که در شکل زیر نشان داده شده است. قالب Style Sheet در مسیر Asp.Net Core -> Web -> Content Section وجود دارد.
 


فایل First.Css را ویرایش کنید و محتوای زیر را در آن قرار دهید.

h3 {
}

table, td {
    border: 2px solid black;
    border-collapse: collapse;
    padding: 5px;
}

من این روند را تکرار کردم و یک فایل دیگر را نیز به نام second.css در پوشه wwwroot/css ایجاد کردم.

فایل‌های جاوا اسکریپت معمولا در پوشه wwwroot/js قرار میگیرند. من این پوشه را ایجاد کردم. فایل‌های جاوا اسکریپت را می‌توانید در مسیر Asp.Net Core -> Web -> Script انتخاب کنید. همانطور که در شکل زیر نشان داده شده است.


من کد جاوا اسکریپتی ساده زیر را به این فایل جدید اضافه کردم؛ همانطور که در لیست نشان داده شده است.

document.addEventListener("DOMContentLoaded", function ()
{
    var element = document.createElement("p");
    element.textContent = "This is the element from the third.js file";
    document.querySelector("body").appendChild(element);
});


من به بیش از یک فایل جاوا اسکریپت نیاز دارم. بنابراین فایل دیگری را به نام fourth.js نیز در پوشه wwwroot ایجاد می‌کنم و محتوای زیر را در آن قرار میدهم.

document.addEventListener("DOMContentLoaded", function ()
{
    var element = document.createElement("p");
    element.textContent = "This is the element from the fourth.js file";
    document.querySelector("body").appendChild(element);
});



به روز رسانی View

گام نهایی، به روز رسانی فایل Index.cshtml برای استفاده از Css و فایل جاوا اسکریپت است. کد‌های آن در زیر نشان داده شده است:
Code
اگر برنامه کاربردی را اجرا کنید، محتویات نشان داده شده‌ی در شکل زیر را مشاهده خواهید کرد. محتوای موجود توسط شیوه نامه‌های CSS شبیه سازی شده است و کد جاوا اسکریپتی جدیدی را اضافه کرده است.


یکی کردن فایل‌های سمت کلاینت در برنامه‌های MVC

در حال حاضر چهار فایل استاتیک وجود دارند و مرورگر باید چهار درخواست را برای دریافت فایل‌های استاتیک ایجاد کند و هر یک از این فایل‌ها نیازمند پهنای باند بیشتری است که باید به مشتری تحویل داده شود؛ زیرا آنها حاوی فضای سفید و نام متغیرها هستند که برای توسعه دهنده‌ها معنا دار هستند؛ اما برای مرورگرها اهمیتی ندارند.
ترکیب فایل‌هایی هم نوع، تلفیق نامیده می‌شود و در آن کار ساختن فایل‌ها به صورتی کوچکتر انجام می‌شود. هر دوی این کارها در برنامه Asp.Net Core MVC توسط  Bundler & Minifier مخصوص ویژوال استودیو انجام میشود.

azsoftir@gmail.com
azsoftir.com
09367292276azsoftir@gmail.com
azsoftir.com
09367292276

azsoftir@gmail.com
azsoftir.com
09367292276azsoftir@gmail.com
azsoftir.com
09367292276

azsoftir@gmail.com
azsoftir.com
09367292276azsoftir@gmail.com
azsoftir.com
09367292276



نصب افزونه‌های ویژوال استودیو

اولین قدم برای نصب افزونه، انتخاب از منوی Tools -> Extensions and Update و کلیک بر روی مجموعه Online است تا افزونه‌های ویژوال استودیو را در مجموعه نمایش بدهد. نام افزونه را در جعبه جستجوی در گوشه‌ی سمت راست بالای پنجره وارد کنید؛ همانطور که در شکل زیر نشان داده شده است. محل نصب افزونه را مشخص می‌کنیم و بر روی دانلود کلیک می‌کنیم تا آن را به ویژوال استودیو اضافه کند. ویژوال استودیو را مجدد راه اندازی کنید تا فرآیند نصب تکمیل شود.


دسته بندی و یکی کردن فایل‌ها

پس از نصب افزونه، ویژوال استودیو را مجددا راه اندازی کنید و پروژه نمونه را باز کنید. با افزودن افزونه، می‌توانید چندین فایل هم نوع را در Solution Explorer انتخاب کنید. آنها را با یکدیگر ترکیب کرده و محتویات آنها را کوچکتر کنید. به عنوان مثال فایل‌های First.css و Second.css را در Solution Explorer را انتخاب و کلیک راست کرده و سپس Bundler & Minifier -> Bundle and Minify Files را از منوی باز شده انتخاب کنید . همانطور که در شکل ز