تم شاپ - 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.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 با روش 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>£48.95</td></tr>
<tr><td>Soccer ball</td><td>£19.50</td></tr>
<tr><td>Corner flag</td><td>£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
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-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 کردن پروژه
انتقال پایگاه داده به محیط هاستینگ
آپلود کردن اجزاء پروژه بر روی هاست
مشاهده نتیجه کار در سایت آپلود شده
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
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