خانه / ASP.NET MVC / شروع کار با ASP.Net MVC

شروع کار با ASP.Net MVC

ASP.NET MVC چیست

Model-View-Controller یا MVC الگویی است که یک برنامه کاربردی را به سه بخش اصلی زیر تفکیک می کند :

  1. Model
  2. View
  3. Controller

چهار چوب ASP.NET MVC یک جایگزین ASP.NET Web Form ها برای ساخت برنامه های تحت وب است. چهار چوب ASP.NET MVC سبک بوده و قابلیت تست پذیری بالایی دارد و همچنین یکسری از ویژگی های ASP.NET Form  را مانند master page ها ، سیستم های احراز هویت داراست. فریمورک MVC  در اسمبلی System.Web.Mvc تعریف شده است و کنترل کاملی برروی JavaScript،HTML و CSS دارد. همچنین استفاده از آن برای ساخت برنامه های با مقیاس بزرگ که تیم های مختلفی برروی آن کار می کنند پیشنهاد می شود.

الگوی طراحی MVC

مزایای یک برنامه تحت وب  MVC

فریمورک ASP.NET MVC دارای مزایای زیر است :

  • مدیریت ساده  پیچیدگی ها  به وسیله تقسیم کردن برنامه به قسمت های Model ، View و Controller
  • عدم استفاده از view state و فرم های سروری
  • کنترل کامل برروی HTML، JavaScripts و CSS
  • پشتیبانی بهتر از آزمون TTD
  • به خوبی برای پروژه هایی که به وسیله تیم های بزرگ پشتیبانی می شود کار می کند و همچنین مناسب برای طراحان وبی است که نیاز زیادی به کنترل کامل برروی رفتار های برنامه دارند.
  • به صورت پیش فرض از احراز هویت Facebook  و google  پشتیبانی می کند.
  • مدیریت ساده برنامه های بزرگ به وسیله تقسیم بندی آنها با Area ها.

فضاهای نام  ASP.NET MVC

  • System.Web.Mvc
    شامل کلاس ها و اینترفیس هایی است که به وسیله الگوی MVC در ASP.NET  پشتیبانی می شود.این فضای نام شامل کلاس هایی مانند controller ها ، action result ها، view ها ،  partial view ها ، model binder هاست.
  • System.Web.Mvc.Ajax
    شامل کلاس هایی است که اسکریپت های Ajax  را  در یک برنامه ASP.NET MVC پشتیبانی می کند.
  • System.Web.Mvc.Async
    شامل کلاس ها و اینترفیس هایی جهت پشتیبانی یک برنامه MVC  از  اعمال غیرهم زمان .
  • System.Web.Mvc.Html
    شامل کلاس هایی است که کمک  به رندر کردن کنترل های HTML  در یک برنامه MVC  می کند. کلاس های موجود در این فضای نام پشتیبانی میکنند از فرم ها ، کنترل های ورودی ، لینک ها ،partial view ها و اعتبار سنجی.

 

تفاوت های بین ASP.NET MVC  و Web Form ها

ASP.NET Web Form ASP.NET MVC
Web Form ها از تکنیک Code behind برای تقسیم یک صفحه .aspx دو بخش یکی برای نمایش و دیگری فایل های کد aspx.cs/aspx.vb استفاده می کنندیک برنامه وب MVC از الگوی طراحی جهت مدیریت برنامه به 3 بخش Model ، View و Controller استفاده میکند.
ASP.NET Web Form شامل کنترل های سروری استASP.NET MVC دارای html helper هاست
ASP.NET Web Form از View state برای مدیریت وضعیت سمت کاربر پشتیبانی می کند.ASP.NET MVC از View State پشتیبانی نمی کند
کنترل محدودی برروی HTML و JavaScript و CSS فراهم می کندکنترل کاملی برروی JavaScript ، HTML و CSS فراهم می کند
مناسب برای برنامه هایی با مقیاس کوچک و تیم هایی برنامه نویسی با تعداد کممناسب برای کار برروی برنامه هایی با مقیاس بزرگ و چندین تیم برنامه نویسی

 

ساختار برنامه ASP.NET MVC

ساختار یک برنامه ASP.NET MVC حداقل به سه پوشه View ، Model  و Controller تقسیم می شود همچنین پوشه های دیگری برای نگهداری فایل های اسکریپت و داده و موارد دیگر وجود دارد.

 

  1. Model
    ازمدل برای نگهداری داده کلاس های  ایجاد شده به وسیله Linq to SQL  یا  Entity Framework ، و یا ارجاع به سرویس هایی مانند WCF  استفاده می شود . در نهایت استفاده  از مدل برای ارائه داده ها به View است.
  2. View
    پوشه View برای نگهداری View ها و یا Patial View ها استفاده می شود هر View  عمل خاصی را بر اساس آنچه کلاس کنترلر به آن محول کرده انجام می دهند. معمولا پوشه View  شامل پوشه ای با نام Shared می شود که صفحات و یوزر کنترل هایی که به وسیله بیشتر کنترلر ها استفاده می شود در آن قرار دارد.
  3. Controller
    پوشه کنترلر مجموعه ای از کلاس ها را شامل می شود که هر کلاس فرزند  System.Web.Mvc.Controller است.یک کلاس کنترلر تنها شامل متد ها یی می شود که به آنها متدهای Action  گفته می شود. متدهای Action  مسئول برگرداندن یک Patial View , View ، محتوا ، داده Json  و موارد دیگر است.

اکشن ها

اکشن ها برای نوشتن کدها برای انجام کاری خاص استفاده می شوند همچنین مسئولیت بازگشت دادن مواردی برای کاربر مانند یک صفحه ویا یوزر کنترل را بر عهده دارند. هر اکشن  شامل یکی از دو نوع در خواست HTTP  زیر می شود:

  1. [HttpGet] اکشن ها ی HttpGet برای اجرای درخواست هایی که مستقیما از کاربر می رسد و یا به عبارتی درخواست ها برای اولین بار  به وسیله متد اکشن دریافت می شود.
  2.  [HttpPost]
    اکشن های [HttpPost] تنها زمانی فراخوانی می شوند که قبلا در سمت کاربری بازدید شده اند و کاربر یک فرم HTML را به وسیله دکمه Submit  ارسال می کند همچنین وقتی که این نوع اکشن فراخوانی می شود در آن می توان همه مقادیر کنترل ها را به وسیله   FormCollection از فرم HTML  بدست آورد. یک متد اکشن می تواند انواع مختلفی از اطلاعات و مقادیر را برای کاربر برگرداند. ما می توانیم انواع مختلفی را برای کاربر از یک متد اکشن برگردانیم اما بیشتر از ActionResult استفاده می کنیم زیرا   ActionResult والد انواع مخلتف است.

 

Area  ها در ASP.NET MVC

در نسخه ASP.NET MVC 2.0 مایکروسافت ویژگی جدیدی با نام Area ها را معرفی کرد. Area ها برای تقسیم بندی یا مجزا کردن یک برنامه بزرگ به چندین برنامه MVC استفاده می شود . به عنوان نمونه :

 

زمانیکه شما یک area  را به پروژه اضافه می کنید یک route (مسیر) برای area  در فایل AreaRegistration تعریف می شود.این route درخواست های رسیده از URL  به یک area  هدایت می کند.

 

 

درباره ی محمد آذرنیوا

مدیر یت آکادمی برنامه نویسان

همچنین ببینید

آموزش ASP.NET Core

آموزش ASP.NET Core MVC (دانلود کتاب)

آموزش ASP.NET Core MVC در این کتاب به آموزش ASP.NET Core MVC پرداخته می شود . ASP.NET ...

2 دیدگاه

  1. آیا این توصیه که برای یادگیری asp از web form شروع کنید بعد mvc درست است؟

پاسخ دهید

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *