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

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

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

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

وه به کارگیری IIS برای انجام عملیات Publish در برنامه های ASP.net Core


تم شاپ - ThemeShop.ir
تم شاپ - ThemeShop.ir
دوره مجازی آموزش React Js
دوره مجازی آموزش React Js
دوره مجازی Asp.Net MVC پیشرفته
دوره مجازی Asp.Net MVC پیشرفته
تعداد 1 مطلب با کلمه کلیدی << نحوه به کارگیری IIS برای انجام عملیات Publish در برنامه های ASP.net Core >> یافت شد

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


    Publish کردن و اجرای برنامه ASP.NET Core با IIS

    زمانی که شما یک برنامه ASP.NET Core می سازید و می خواهید آن را بر روی IIS اجرا کنید، خواهید فهمید که روش اجرای برنامه های ASP.NET Core به صورت اساسی با نسخه های قبلی ASP.NET متفاوت است. در این مقاله، ما نحوه اجرای برنامه های ASP.NET Core و سپس قرار دادن آن بر روی IIS را شرح خواهیم داد.
دوره آموزش (Advanced ASP.Net MVC (Core
محتوا و سرفصل دوره آموزش (Advanced ASP.Net MVC (Core
در این دوره یک پروژه عملی توسط ASP.NET MVC پیاده سازی خواهد شد و سپس آن پروژه توسط ASP.NET Core نیز پیاده سازی می شود تا تفاوت های بین ASP MVC و ASP Core در یک پروژه واقعی تجربه شود. لطفا برای شرکت در این دوره پیش نیازهای زیر را داشته باشید.

پیش نیازهای دوره پیشرفته ASP.NET MVC و ASP.NET Core :

گذراندن دوره آموزش طراحی صفحات وب (یا تسلط به طراحی صفحات وب)

گذراندن دوره سی شارپ پیشرفته (یا تسلط به زبان برنامه نویسی سی شارپ)

گذراندن دوره آموزش 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


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

   
-لایه بندی بخش های مختلف پروژه شامل : Repository - Service و بخش های مرتبط دیگر  
-مشخص کردن نیازمندی های فنی و ابزاری هر بخش از پروژه و انتخاب یک یا چند ابزار از مقایسه بین ابزارهای معروف
-نحوه تیم سازی در پروژه های بزرگ و بررسی نحوه انجام کارها و تعامل بین افراد تیم پیاده سازی
-نحوه کارکردن با Media و روش های ذخیره سازی و نمایش فایل ها در پروژه
-کار با کنترل های کاربردی مانند GridView - ComboBox و کنترل های پرکاربرد دیگر
-نحوه تولید گزارش و نمایش آن توسط ابزار Stimulsoft
-روش های گرفتن خروجی های اکسل و pdf از صفحات و گرید های مختلف


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

-روش های اعمال Authentication , Authorization در پروژه های MVC  و Core

-نحوه بالابردن امنیت داده توسط Encryption و سایر روش های مرتبط
-نوشتن web Api های مرتبط برای سرویس ها و استفاده آن در محیط های دیگر
-مقایسه استفاده از EntityFramework با Dapper و همچنین نحوه اعمال دستورات CRUD‌ به صورت Bulk
-نحوه مدیریت بخش های مختلف پروژه در Area های مختلف و آدرس دهی به آنها
-نحوه نوشتن custom control ها و همچنین نحوه تغییر در Template های T4 مربوط به Scaffolding
-نحوه نوشتن custom helper و custom Attribute
-مدیریت Cache برای افزایش سرعت بارگذاری صفحات
-پیاده سازی صفحات Full Ajax توسط jQuery
-استفاده از روش های جدید در نوشتن css شامل Less , SCSS
-روش های پیاده سازی Validation در سمت Client , Server
-نحوه کار با api های معروف مانند نقشه و آب و هوا در پروژه  
-کار با SignalR و مدیریت Notification ها   
-تغییرات ASP.NET Core در ساختار پروژه و کارکردن با آنها در پروژه عملی
-استفاده از tag helper - view component - page  در ASP.NET Core
-نحوه کار با nuget و روش های ساختن nuget package
-مدیریت کدهای پروژه توسط Source Control
-نحوه publish گرفتن از پروژه و گذاشتن آن روی سرورن باید بتوانند یک پروژه واقعی را در دو محیط ASP.NET MVC و ASP.NET Core پیاده سازی نمایند.

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


Injection یکی از ویژگی های معرفی شده ASP

Injection یکی از ویژگی های معرفی شده ASP.NET Core  است .با استفاده از dependency injection container  موجود درASP.NET Core  . مامیتوانیم به راحتی dependencie ها را به Controller  ، Filters  و View  ها تزریق کنیم . در این مقاله قصد داریم برای نشان دادن  inject dependencies از کلمه کلیدی inject  در View ها استفاده کنیم .

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


برای نمایش دادن داده ها در View  ، به خواص های  Controller مانند:ViewBag  ، ViewData ، یا خواص های Model نیاز داریم.در ASP.NET Core MVC  استفاده از دستور inject بسیار ساده است .Inject به ما کمک می کند وابستگی ها را به طور مستقیم به View تزریق کنیم و داده ها را بازیابی کنیم .

ایجاد پروژه

در ویژوال استودیو ، یک پروژه جدید از نوع ASP.NET Core Web Appliction ایجاد می کنیم.

نام پروژه خود را وارد کرده و OK را انتخاب  می کنیم .

حال در پنجره باز شده Web Application را انتخاب می کنیم تا یک پروژه را به صورت خودکار برای ما ایجاد کند.

همان طور که مشاهده می کنید Visual Studio به صورت خودکار یک پروژه ASP.NET Core ایجاد کرده است .

افزودن Service

یک پوشه جدید به نام Models ایجاد می کنیم و یک کلاس به نام FruitServices به آن اضافه می کنیم. حال متدی به نام GetFruits()  ایجاد می کنیم که List<string> را Return می کند.
1
2
3
4
5
6
7
   
public class FruitServices
   {
       public List<string> GetFruits()
       {
           return new List<string>() { "اپل", "مایکروسافت", "سامسونگ", "سونی" };
       }
   }

Inject در View

ما میتوان یک Service را با استفاده از دستور @inject به View تزریق کنیم . و همچنین میتوان یک خواص به View  خود اضافه کنید.

Syntax  ابتدایی برای تزریق به View  :
1
   
@inject <service> <name>

دستور @inject برای تزریق وابستگی ها استفاده می شود

<service> کلاس Service است.

<name> نامی که میتوان با استفاده از آن به متد های Service دسترسی پیدا کرد.

در این مثال ، FuritService را تزریق میکنیم  و نام fruitList را به Service می دهیم .
1
2
3
4
5
6
7
8
9
   

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

1.  @inject MVCCoreExample.Models.FruitServices fruitList 
2.   
 
4.  <ul> 
5.      @foreach (var name in fruitList.GetFruits()) 
6.      { 
7.          <li>@name</li> 
8.      } 
9.  </ul> 

این View   لیستی از Fruit ها که به FruitService   تزریق شده بودند را نمایش می دهد . با استفاده از متد GetFruit() ،میتوان لیستی از Fruit ها را بازیابی کرد.

آن را بدون ثبت FuritService اجرا می کنیم.

زمانی که برنامه را اجرا می کنیم . یک exception ظاهر می شود.این خطا به این علت ظاهر شده که ما FruitService را ثبت نکرده ایم.

ابتدا آن را ثبت کرده و دوباره اجرا  می کنیم.

ثبت Service

Startup.cs را باز می کنیم  وService را برای تزریق وابستگی در متد ConfigureServices  ثبت می کنیم.شما میتوان با استفاده از متد AddTransient ، Service های خود را ثبت کنید.
1
2
3
4
5
6
   
1.  public void ConfigureServices(IServiceCollection services) 
2.  { 
3.      // Add framework services. 
4.      services.AddMvc(); 
5.      services.AddTransient<FruitServices>(); 
6.  } 

برنامه را اجرا می کنیم .

همان طور که مشاهده می کنید داده های تزریق شده نمایش داده شده اند.

خلاصه

تزریق وابستگی به طور مستقیم به View ها  بسیار آسان است.در این مقاله برای درک بهتر دستور inject یک تزریق ساده انجام داده ایم . می تواند برای پر کردن عناصر UI مانند : SelectionList ، RadioButtom   ها مفید باشد .استفاده از این ویژگی، قابلیت استفاده مجدد از کد را افزایش می دهد و با کم کردن حجم کد Controller ها ، آن ها را تمیز تر نگه میدارد.


 در این مقاله قصد داریم که مروری سریع بر برخی از ویژگی های َAsp.Net Core و تغییرات انجام شده بر روی آن توضیح بدهیم.با ما همراه باشید.
مروری بر ASP.NET Core

Asp.Net Core چیست؟

ASP.NET Core در حال حاضر به طور کامل به دنبال آخرین نسخه هایی که بر روی .NET Framework کار میکنند بازنویسی شده است.

ASP.NET با تمرکز اصلی بر تبدیل آن به cross-platform  توسعه داده شده است!

بعله ASP.NET Core در حال حاضر  cross-platform است.

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 خیلی سریع و در زمان محدود محبوب شد.

در ادامه ، توسعه ابری با تنظیمات ساخته شده آسان همراه با یک پردازش خود میزبانی همانند IIS و بسیاری از ویژگی های بیشتر اضافه شده به ASP.NET Core که بر پایه آن ایجاد شده است.

Cross Platform چیست؟

بعله شما درست خواندید ASP.NET Core در حال حاضر  cross-platform است.ASP.NET Core CLR در حال حاضر شامل WPF و WinForms است.در این روش یکبار کد را میسازد (built میکند) و آن بر روی هر پلتفرمی اجرا می شود.اکنون ما می توانیم NET framework. را در لینوکس، یونیکس یا OSX نصب کنیم.

NET Core CLR. به جامعه سورس باز ها پیوسته است و بر روی GitHub قرار دارد.در حال حاضر هر کسی میتواند در GitHub به توسعه  NET Core. کمک کند.برنامه های ASP.NET Core میتوانند بر روی نسخه های قبلی NET frameworks. و هچنین NET core. اجرا شوند که این ویژگی برای توسعه دهندگان مفید است.

NET Framework 4.6. در واقع همان NET. است که ما از آن استفاده میکردیم و همچنان به همین شیوه توسعه می یابد.

NET Core. به ما یک پلت فرم برای تولید solution های cross-platform می دهد. با این حال، NET 4.6. به حالت پایدار رسیده است و NET Core. همچنان در حال پیشرفت است.

ادغام stack MVC و Web API!

حالا این به نظر جالبه ... چی؟ادغام stack MVC و Web API

بله جالب است!!!

در ASP.NET Core ما میتوانیم stack MVC و Web API را ادغام کنیم و علاوه بر این Webforms  به طور کامل رفته است.

پیش از این، ما مجبور بودیم بیش از یک پروژه وب که یکی برای MVC و دیگری برای Web API بود استفاده کنیم.اما در  ASP.NET  Core ما فقط نیاز به ایجاد یک پروژه داریم.

ابزارهای چندگانه داخلی که در  .NET Core با سهولت برای ساخت برنامه های وب مورد استفاده قرار میگیرند مانند : NPM برای پشتیبانی ابزارها و پشتیبانی سمت کاربر با استفاده از Bower و Grunt  و Gulp  برای ساختن اتوماتیک و به طور معمول NuGet برای پکیج های NET. استفاده می شوند.

برنامه NET Core. با Command Prompt و VS Code

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


هنگامی که ما NET Core Framework. را در سیستم خود نصب میکنیم ، از آنجا که سورس باز است ، NET Framework. قابل دسترسی است و پروژه ها می توانند از طریق command prompt ادامه داد. فقط command prompt را باز کنید و دستور "dotnet" را اجرا کنید.این دستور تمام اطلاعات مربوط به NET Framework. را نمایش می دهد.

برای ایجاد پروژه جدید با استفاده از NET template. ها ، از scaffolding در  VS IDE استفاده میشود.

همان scaffolding  در command prompt با استفاده از دستور  "dotnet new" در دسترس و قابل استفاده است.

این scaffolding را ایجاد میکند و پکیج های مورد نیاز را در صورت عدم وجود بازیابی میکند.

سپس ، از قالب های scaffolding استفاده میکنیم.

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

حالا ، اجازه دهید که یک console application در یکی از درایوهای ما ایجاد شود.برای اضافه کردن console application جدید دستور مورد نیاز آن به صورت زیر است:

در این هنگام ، یک پروژه جدید که یک console application برای برنامه Hello World است ، ایجاد شده است.

سپس ، زمانیکه شما آن را اجرا میکنید ، شما با خطای فراموش شدن فضای نام ها مواجه میشوید و حالا درایوتان را مسیر یابی کنید ، پوشه های bin و obj که فراموش شده اند را بیابید.بنابراین ، خطایی مانند زیر نمایش داده میشود:

بنابراین ، بازیابی پکیج ها این مشکل را حل میکند.دستور dotnet restore مشکل پکیج های پیش فرض مورد نیاز برای console application حل و بازیابی میکند.

سپس ، پروژه را برای اطمینان از عدم موجود بودن خطا اجرا میکنیم.از دستور dotnet build استفاده کنید و بعد از آن پروژه با موفقیت اجرا میشود.پروژه را اجرا کنید و خروجی آن را مشاهده کنید.

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


در آخر برای اجرا از  دستور dotnet run استفاده کنید.

خروجی برنامه به صورت زیر میشود:

همین امر می تواند در پایانه های سیستم عامل لینوکس و همچنین سیستم عامل Mac نیز استفاده شود.

NET Core Framework. نیاز است که بر روی سیستم عامل نصب باشد ، چرا که NET Core. به صورت cross platform توسعه یافته است.


دوره آموزش مهاجرت از Asp.net MVC به Asp.net Core

در دوره آموزش ASP.Net Core قصد داریم از ابتدا تا انتها مباحث مربوط به ASP.Net Core را به صورت عملی به شما آموزش دهیم. همچنین توضیح خواهیم داد که این پلتفرم چه مزایایی نسبت به سایر پلتفرم ها دارد.

ASP.NET Core  چیست ؟

ASP.NET Core یک فریم ورک متن باز و چند پلتفرمی مستقل از بستر اجرا برای ساخت برنامه های مبتنی بر cloud متصل به اینترنت از قبیل وب اپلیکیشن ها ، برنامه های اینترنت اشیا IOT Apps و برنامه های موبایل است . برنامه های ASP.NET Core می توانند بر روی هسته .net یا روی فریم ورک کامل .net اجرا شوند. ASP.NET Core به منظور محیا کردن یک چارچوب توسعه بهینه شده برای اپلیکیشن هایی که روی فضای ابری یا روی محیط کاری کاربر (On-Premise) توسعه داده می شوند ، طراحی شده بود.

از اجزا پیمانه ای (Modular) با حداقل سربار تشکیل شده است. یعنی اینکه شما در حالی که راه حلهای خود را می سازید، انعطاف پذیری را نیز حفظ می کنید .

شما می توانید برنامه های ASP.NET Core خود را روی ویندوز، مک و لینوکس توسعه داده و اجرا کنید.

ASP.NET Core به صورت متن باز در Github  موجود می باشد.
در این دوره آموزشی Asp Identity 3 در Asp.Net Core به صورت عملی آموزش دادیم.

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 :

    ASP.NET Core مستقل از Platform است.
     Open Source است.
    جدا بودن از Web Server.
    تزریق وابستگی (Dependency Injection) تو کار.
    یکپارچگی با framework‌های مدرن سمت کلاینت.

نرم افزارهای استفاده شده در این دوره آموزشی :

    Visual Studio 2017 Enterprise
    SQL Server 2016 Managment Studio

آنچه در دوره آموزش Asp.net Core خواهید آموخت :

    مقدمه ای بر دوره آموزشی
    معرفی تغییرات جدید  Asp.net Core 1.1 در Visual Studio 2017
    معرقی Tag Helper ها در Asp.net core و خداحافظی با Html Helper
    Generate شدن Tag Helper ها به صورت پیش فرض از طریق Class Model
    نصب و پیکربندی Entity Framework Core
    نصب و پیکربندی Migration
    توضیحاتی در مورد تغییرات Migration در Asp.net Core
    ثبت اطلاعات به صورت خودکار در اولین اجرای وب اپلیکیشن با استفاده از کلاس Data Initializer
    قابلیت جدید عریف Constractor در کنترلر ها در  Asp.net Core
    انجام عملیات CRUD در Asp.net Core جهت درک مفاهیم عملی و کار با بانک اطلاعاتی توسط EF Core
    معرفی بحث Identity 3 در Asp.net Core
    معرفی تغییرات ایجاد شده  Identity 3 نسبت به نسخه های قبل
    پیاده سازی Identity 3 در پروژه مان به صورت کاملا عملی در Asp.net Core
    گفتن مباحثی مانند (Costomize کردن ایتم ها در Identity – ایجاد – حذف و یا ویرایش فیلدها توسط برنامه نویس در  Identity و …)
    تعیین Role (نقش کاربران) توسط Identity
    ایجاد Role  به صورت دلخواه
    تحلیل کامل بحث Identity
    تحلیل کامل جدولهای ایجاد شده در Sql Server توسط Identity
    بررسی نقش اتریبیوت Authorize در امنیت
    توضیحاتی در مورد تغییرات ایجاد شده در پارامترهای ورودی Constractor فایل DatabaseContext نسبت به نسخه های پیشین MVC
    توضیحات کامل در کلاسهای Startup و Program
    توضیحاتی در مورد حذف شدن Project.json در ویژوال استادیو ۲۰۱۷
    فعال سازی Razor با نصب یک Extention برای مشاهده TagHelper ها در پنجره Intelisense
    پیاده سازی بحث ViewModel در Asp.net Core
    پیاده سازی Ajax به صورت عملی
    پیاده سازی الگوی Repository و Ioc  در  Asp.net Core به صورت کاملا عملی
    توضیحاتی در مورد  تغییرات   حوضه Routing  نسب به نسخه های پیشین MVC
    پیاده سازی عملی Routing
    و دیگر نکات عملی که در حین آموزش خواهید آموخت …

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 را از منوی باز شده انتخاب کنید . همانطور که در شکل ز

پروژه های موجود در نرم افزار 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 در


پروژه سایت اطلاعات پرواز با 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



پروژه های Asp.net با تکنولوژی MVC جزء پروژه های پرطرفدار سایت می باشند که علاقه مندان زیادی پیدا کرده است در این بخش تیم برنامه نویسی سایت یک پروژه سایت با موضوع اطلاعات پرواز به زبان asp.net و تکنولوژی MVC و بانک اطلاعاتی Sql Server در سایت قرار داده است.در این پروژه دو بخش مدیریت پروازها و جستجو و نمایش اطلاعات پروازها قرارداده شده است.در بخش مدیریت پروازها می توان اطلاعات پرواز مثل شناسه پرواز ، قیمت پرواز ، نوع پرواز ، تعداد صندلی باقیمانده ، مقصد ، مبدا ، زمان پرواز قرارداده شده است و در بخش جستجو اطلاعات پرواز می توان پروازهای مورد نظر را جستجو و مشاهده کرد.
آموزش پروژه محور ASP.NET Core MVC و EF Core در ویژوال استادیو 2017

آموزش پروژه محور ASP.NET Core MVC و EF Core در ویژوال استادیو 2017 یکی دیگر از آموزش های گروه برنامه نویسی پرووید می باشد که در این قسمت از وبسایت پرووید به شما تقدیم می شود.
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 را بر پایه سکوی جدید فراهم می‌کند و افزودن بر این که شامل همه‌ی کارایی های واسط کاربری وب است روش های طبیعی‌تری برای ایجاد محتوای پیچیده پیشنهاد می‌کند و امکان می‌دهد که بسیاری از کارهای کلیدی مربوط به توسعه ، مانند آزمایش های واحد یه سادگی انجام شوند.

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 در ویژوال استادیو 2017 حاوی 116 عنوان ویدئویی در قالب 10 فصل و بیش از 4 ساعت و نیم آموزش مالتی مدیا است. علاوه بر این، فایل پروژه ی همه ی فصل ها نیز موجود می باشند.

ویدئوی معرفی به علت قرار داشتن بر روی سایت آپارات از کیفیت بالایی برخوردار نیست. این موضوع در مورد ویدئوهای خریداری شده که بر روی سرور سایت قرار داده شده اند صدق نمی کند.

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

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

    فصل اول: شروع به کار
        ساخت برنامه
        پیاده سازی Style برنامه
        نصب پکیج های Nuget مربوط به EF Core
        ساخت Student Entity
        اضافه کردن بقیه ی Entity ها
        ساخت Context دیتابیس
        کار با Dependency Injection در Context
        معرفی Localdb
        Seed کردن دیتابیس
        کار با Scaffolding برای پیاده سازی Controller ها و View ها
        رسم و رسومات کار با دیتابیس
    فصل دوم: پیاده سازی عملیات CRUD
        پیاده سازی صفحه ی Details
        کار با Routing
        تغییرات در صفحات Create  و Details و View های مرتبط
        جلوگیری از حملات Overposting
        معرفی EntityState
        تغییرات صفحات Edit و Delete
        روش Read-First و Create-and-Attach در حذف داده ها
        بستن Connection های دیتیابیس
        کار با تراکنش ها

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

        کوئری های No-tracking

    فصل سوم: انجام عملیات Sorting، Filtering، Paging و Grouping
        اضافه کردن قابلیت Sort به کنترلر Student
        اضافه کردن قابلیت Filtering به متد Index
        اضافه کردن قابلیت جست و جو
        اضافه کردن قابلیت Paging
        اضافه کردن صفحه ی آمار دانش آموزان به برنامه
    فصل چهارم: Migration ها
        معرفی Migration ها
        اضافه کردن پکیج های Nuget برای Migration
        ساخت یک Migration
        بررسی متدهای Up و Down
        معرفی Data Model Snapshot
        اضافه کردن Migration به دیتابیس
    فصل پنجم: ساخت یک Data Model پیچیده
        ساخت Data Model پیچیده
        کار با Attribute ها
        ساخت Instructor Entity
        ساخت OfficeAssignment Entity
        ساخت Department Entity
        اضافه کردن Migration و به روز رسانی دیتابیس
    فصل ششم: خواندن داده های مرتبط
        معرفی روش Eager Loading
        معرفی روش Lazy Loading
        معرفی روش Explicit Loading
        مسائل مربوط به کارایی برنامه
        اضافه کردن View های مورد نیاز به برنامه

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

    فصل هفتم: به روز رسانی داده های مرتبط

        ویرایش Create در کنترلر Courses
        اضافه کردن AsNoTracking به متدهای Edit و Delete
        به روز رسانی View های Edit و Create
        به روز رسانی کنترلر و View های Instructors
        به روز رسانی صفحات Delete
        به روز رسانی صفحات Create
    فصل هشتم: مسائل مربوط به Concurrency
        مبحث Concurrency Conflict
        روش های خوش بینانه و بدبینانه
        کشف Concurrency Conflict
        اضافه کردن قابلیت کشف و ترمیم Concurrency Conflict به Departments
    فصل نهم: پیاده سازی وراثت
        وراثت به Data Model
        روش های وراثت در بانک اطلاعاتی TPH – TPT – TPC
        پیاده سازی وراثت برای Entity های Student و Instructor
    فصل دهم: مباحث پیشرفته

 

نوشته شده در ای اس پی Asp.Net،پروژه ها،پروژه های آماده Aspتگ شده پروژه asp و mvc،پروژه اطلاعات پروژا با asp،پروژه سایت اطلاعات پرواز،پروژه سایت اطلاعات پرواز با asp و mvc،پروژه سایت اطلاعات پرواز باasp.net،پروژه سایت با asp.net،پروژه سایت با mvc   
راهبری نوشته‌ها
پروژه مدیریت اطلاعات پرواز با اندروید
پروژه بازی دوز تحت شبکه با سی شارپ
نوشته های مرتبط

    پروژه اتوماسیون اداری تحت وب با Asp.Net به همراه مستندات
    پروژه بانک اطلاعاتی فروشگاه با Access
    پروژه محاسبه حقوق کارمندان به زبان سی شارپ(تحت کنسول)
    پروژه سیستم Help Desk با Asp.Net
    پروژه کتابخانه با C++
    پروژه سیستم فروش خودرو با سی شارپ
    پروژه مدیریت دانشجویان با C
    پروژه بانک اطلاعاتی املاک با Sql Server
    پروژه سایت عکاسی با

     بر Bootstrap
        HTML 5 doctype
        Mobile First
        Container ها
    سیستم چینش صفحه
        سایز صفحه
            دستگاه های با صفحه نمایش کوچک
            دستگاه های با صفحه نمایش متوسط
            دستگاه های با صفحه نمایش بزرگ
        گزینه های گرید
        مثال چینش افقی
        مثال موبایل و دسکتاپ
        مثال موبایل، تبلت، و دسکتاپ
        تغییرات ستون ها برای حالت Responsive
        افست کردن ستون ها
        تو در تو کردن ستون ها
        ترتیب ستون ها
    ساختار فونت ها
    لیست ها
    جدول ها

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

    فرم ها

        یک مثال ساده
        فرم های Inline
        فرم های افقی
        کنترل هایی که پشتیبانی می شوند
            Input ها
            TextArea
            CheckBox و Radio ها
            Select ها
            کنترل ها Static
        حالت های فرم
    سایز بندی کنترل ها
    دکمه ها
    تصاویر

بررسی ساختار پایگاه داده پروژه و آماده کردن آن برای استفاده در View ها

    بررسی ساختار پایگاه داده پروژه
        جدول گروه های صفحات
        جدول صفحات
        جدول گروه های کالاها
        جدول کالاها
        جدول فاکتورها (سفارش های خرید)
        جدول تاریخچه و رهگیری پرداخت های آنلاین
        جدول گروه های کاربران
        جدول کاربران
    افزودن صفت (Attribute) ها به کلاس های مدل
        افزودن صفت Key به مشخصه معادل Primary Key در کلاس های مدل
        افزودن صفت های Display Name
        افزودن صفت های Required به فیلدهایی که اجازه دریافت مقادیر تهی ندارند
            مشخص کردن پیام خطای Validation به زبان فارسی
        افزودن صفت های مشخص کننده Data Type
        افزودن صفت UIHint در موارد خاص

نصب Kendo UI و استفاده از آن در پروژه

    آشنایی با Kendo UI
        Kendo UI محصول جدید Telerik
        Kendo UI به عنوان جایگزین Telerik Extensions for ASP.NET MVC
        Kendo UI کاملا مبتنی بر Jquery و HTML 5 ساخته شده است.
        بررسی قابلیت های Kendo UI و Widget های آن
    نصب Kendo UI بر روی سیستم و Visual Studio
    ایجاد پروژه جدید با استفاده از Kendo UI Wizard
        استفاده از Wizard فوق چه مزایایی نسبت به انجام کارهای آن به صورت دستی دارد؟
    فارسی سازی

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


Kendo UI

        فارسی سازی رابط کاربری Kendo UI با استفاده از Resource
        ایجاد تغییر در اسکریپت های Kendo UI برای بخش هایی که از Resource پیروی نمی کنند

آماده سازی بستر پروژه برای استفاده از امکانات ASP.NET MVC و Kendo UI

    افزودن Editor Template ها
        Editor Template ها چه هستند و چه کار می کنند؟
        افزودن قالب برای نوع داده HTML
            استفاده از Kendo Editor به صورت پیش فرض برای نوع داده HTML
            افزودن قابلیت Image Upload برای درج در ویرایشگر HTML به صورت پیش فرض
                مشخص کردن تنظیمات برای Image Browser
                افزودن کنترلر ImageBrowser برای مدیریت فولدرها و آپلودها
        افزودن قالب برای نوع داده عددی
            استفاده از Kendo NumericTextBox
            استفاده از صفت UIHint برای مشخص کردن این که NumericTextBox میبایست برای کدام فیلدها استفاده شود
    افزودن Display Template ها
        Display Templae ها چه هستند و چه کاربردی دارند؟
            افزودن قالب برای نوع داده HTML
            افزودن قالب نمایش برای نوع واحد پولی
    افزودن jQuery Persian DatePicker به پروژه جهت تشخیص خودکار فیلدهای تاریخ و تبدیل آنها به انتخابگر تاریخ شمسی
        افزودن Script ها و Style ها
        افزودن کد تشخیص و تبدیل
    فراهم کردن امکان نمایش عناوین فارسی در View ها برای تمام بخش ها
        استفاده از صفت DisplayName برای خود کلاس ها Model
        برنامه نویسی و ایجاد Html Helper ویژه نمایش نام مفرد کلاس Model در View های Delete, Edit,Create
        طراحی یک صفت (Attribute) جدید به نام DisplayPluralName برای تعریف نام جمع (مثلا کاربران به جای کاربر) در View های List
        برنامه نویسی و ایجاد یک Html Helper جدید برای نمایش اسم جمع کلاس های مدل در View های List

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


ایجاد بخش مدیریت خبرها

    افزودن Controller بخش خبرها
        افزودن کنترلر PageGroups
        افزودن کنترلر Pages
    بهینه سازی کدهای بخش مدیریت خبرها
        مدیریت محتوای Html ای افزوده شده در Action های Create و Edit
    نمایش گروه های خبر در صفحات اصلی سایت
    افزودن Action های نمایش خبرها بر اساس دسته بندی به کنترلر بخش خبرها

ایجاد بخش مدیریت کالاها و گروه  بندی های آن

    افزودن کنترلر های بخش مدیریت کالاها
        افزودن کنترلر ProductGroups
        افزودن کنترلر Products
    بهینه سازی امکانات مدیریت کالاها
        فراهم سازی امکان آپلود تصاویر کالا با استفاده از Kendo Upload
        ایجاد تصویر کوچک (Thumbnail) هر کالا بر اساس تصویر آپلود شده

jQuery Ajax و کاربرد آن در ASP.NET MVC

    Ajax در سمت کلاینت: jQuery
        Selector های jQuery
        رویدادهای jQuery
        jQuery و Ajax
        آشنایی با پارامترها و نحوه عملکرد تابع .Ajax()
    Ajax در سمت سرور: ASP.NET Web Api
        ASP.NET W

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

eb API چیست؟



        شروع کار با Web API

        نوشتن یک API Controller
            بررسی یک Controller به عنوان نمونه
            پارامترهای ورودی Action
    کار عملی: ترکیب jQuery Ajax و ASP.NET Web API برای افزودن کالاها به سبد خرید
        نمایش مشخصات کالاها به صورت لیست با استفاده از Kendo ListView
            تعریف کردن قالب نمایش کالا برای هر مورد در لیست
            استفاده از تابع های سمت کلاینت Kendo UI برای فرمت کردن فیلدهای یک کالا
            نمایش تصاویر کوچک کالا به ازای هر مورد نمایش داده شده
        ایجاد API Controller برای سبد خرید (ShoppingCart)
            در Api Controller پیش فرض ASP.NET MVC امکان استفاده از Session وجود ندارد، چه باید کرد؟
                ایجاد یک کلاس پدر Api Controller با قابلیت پشتیبانی از Session
                افزودن یک Rounte Handler و تعریف آن در سیستم برای فعال کردن قابلیت استفاده از Session هنگام تعریف Route
        افزودن کد تبدیل کننده hyperlink های کالاها در سبد خرید به عوامل فراخوانی Ajax Request برای افزودن کالا به سبد خرید

ایجاد بخش مدیریت کاربران و نقش ها

    ایجاد کردن کنترلر های بخش مدیریت کاربران
    تحت کنترل در آوردن مکانیسم Login و Role Management پروژه
        ایجاد امکانات لاگین کاربر
        پیکربندی امنیتی پروژه
        افزودن Role Provider مورد نیاز به پروژه و فعال کردن آن در web.config
    امن کردن بخش های مورد نیاز پروژه برای کنترل لاگین و چک کردن گروه کاربر

ایجاد بخش های مدیریت و نمایش سبد خرید و سفارش خرید

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


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

افزودن قابلیت پرداخت آنلاین

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

افزودن یک قالب (Template) آماده به سایت

    CSS ها و دیگر ملحقات قالب کجا باید اضافه شوند؟
    افزودن ارجاعات CSS های قالب به پروژه
    اعمال کردن چینش قالب آماده به صفحه Layout

Publish کردن و انتقال پروژه بر روی هاست

    حذف Reference های اضافی و استفاده نشده از پروژه
    Publish کردن پروژه
    انتقال پایگاه داده به محیط هاستینگ
    آپلود کردن اجزاء پروژه بر روی هاست
    مشاهده نتیجه کار در سایت آپلود شده

  • ایجاد منوهای افقی ،عمودی و آبشاری
  • نمایش اسلایدر در صفحه اصلی سایت
  • استفاده از ویرایشگر متن (Html Editor) برای تغییر محتویات متن صفحات اصلی ، درباره ما و تماس با ما
  • آپلود فایل ( آپلود ، نمایش ، تغییر نام ، ایجاد پوشه) عکس برای اسلایدر
  • دریافت نظرات و پیشنهادات کاربران
  • ارسال ایمیل به کاربران
  • کار با بانک اطلاعاتی SQL Server 2012 (درج رکوردهای جدید ، نمایش ، ویرایش و حذف رکوردها)
  • لاگین ، تغییر رمز عبور ، استفاده از نقش مدیر
  • بخش مدیریت سایت
  • ایجاد قالب سایت
  • عناوین فارسی در URL
  • مجموعه نکات برنامه نویسی با MVC
  • آشنایی با5 ASP.NET MVC
  • آشنایی با ملزومات زبان C#‎ برای ASP.NET MVC ( کلاسها ، دستورات)
  • آشنایی و کار با6 Entity Framework
  • کار با Model ها
  • کار با View ها
  • کار با Controller ها
  • استفاده از Partial View
  • آشنایی با مسیر یابی
  • استفاده از Entity Framework Code First
  • اعتبار سنجی داده ها

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

  • طرح بندی سایت (Layout)
  • مدیریت خطاها
  • Twitter Bootstrap
  • آشنایی با Razor View Engine
  • برقراری امنیت در برنامه و تعیین سطوح دسترسی
  • فرم ها و HTML Helper ها
  • استفاده از Binder (برای نمایش تاریخ میلادی بصورت شمسی)
  • Bundling
  • T4MVC
  • استفاده از Editor Template
  • منوهای سایت
  • صفحه اصلی
  • بیمه تامین اجتمائی
  • امور مالیاتی
  • ارسال سوال
  • درباره ما
  • تماس با ما
  • مدیریت
  • موضوعات بیمه
  • موضوعات مالیاتی
  • سوالات بیمه
  • سوالات مالیاتی
  • مدیریت فایلها
  • مستندات
  • نظرات و پیشنهادات
  • سوالات کاربران

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