دوره های آموزشی
خانه / ASP.NET MVC / اضافه کردن کنترلر (آموزش ASP.NET MVC)

اضافه کردن کنترلر (آموزش ASP.NET MVC)

سایر مقالات سری آموزش  ASP.NET MVC  :

شروع کار با ASP.NET MVC 5

MVC مخفف عبارت model-view-controller است. با استفاده از الگوی MVC پروژه ها یی که ایجاد می شود دارای  سختار مناسب ، قابلیت تست پذیری و  پشتیبانی آسان خواهند بود . پروژه هایی که بر اساس MVC هستند شامل موارد زیر است:

  • مدل‌ها (Model): شامل کلاس‌هایی است که نماینده داده های برنامه و قسمت اعتبار سنجی می شوند.
  • نماها(Views) : فایل های این قسمت برای تولید داینامیک صفحات HTML استفاده می شوند.
  • کنترلرها (Controllers): کلاس‌هایی که درخواست‌هایی که از طرف مرورگر می‌آید را مدیریت می‌کنند،  داده را از مدل  دریافت می‌کنند و View  مشخصی را برای برگشت دادن پاسخ به مرورگر انتخاب می‌کنند.

ما در این سری آموزشی تمام مفاهیم گفته شده را آموزش می‌دهیم و نشان می‌دهیم که چگونه از آنها برای ساخت یک برنامه استفاده کنیم.

با ساختن یک کلاس کنترلر شروع می‌کنیم. در قسمت Solution Explorer  بر روی Controllers کلیک راست کنید و سپس Add و بعد Controller را کلیک کنید.

آموزش asp.net mvc

در پنجره Add Scaffold بر روی MVC5 Controller-Empty و سپس Add کلیک کنید.

آموزش MVC

برای  کنترلر خود نام انتخاب کنید. مثلا HelloWorldController و سپس بر روی Add کلیک کنید.

آموزش mvc در asp.net

توجه داشته باشید که در Solution Explorer یک فایل با نام HelloWorldController.cs و یک فولدر جدید Views\HelloWorld اضافه شده است. کنترلر در محیط برنامه باز می‌شود.

آموزش asp

قطعه کد زیر را در محتوای فایل قرار دهید.

متدهای کنترلر یک رشته از HTML را به عنوان نمونه  برمی‌گرداند. نام کنترلر HelloWorldController است و نام اولین متد آن index  می‌باشد. برنامه را اجرا کنید(با کلیک F5 یا Ctrl+F5).   در مرورگر در نوار آدرس عبارت HelloWorld را اضافه کنید. صفحه موردنظر در مرورگر مانند شکل زیر خواهد بود.

آموزش asp mvc

ASP.NET MVC، بسته URLای که آمده است متدهای مختلفی را فراخوانی می‌کند. منطق پیش‌فرض URL در ASP.NET MVC  از فرمت زیر برای مشخص کردن کد فراخوانی شده استفاده می‌کند.

[Controller]/[ActionName]/[Parameters]

شما می‌توانید فرمت مورد نظر خود را در فایل App_Start/RouteConfig.cs تنظیم کنید.

 

وقتی که شما برنامه را اجرا می‌کنید و URL ای برای آن در نظر نمی‌گیرید، برنامه به طور پیش‌فرض طبق شکل بالا از کنترلر Home و متد Index استفاده می‌کند.
بخش اول URL کلاس کنترلری را که باید اجرا شود مشخص می‌کند. بنابراین /HelloWorld به کلاس HelloWorldController نگاشت(map) می‌شود. بخش دوم URL متدی از کلاس را که باید اجرا شود مشخص می‌کند. بنابراین /HelloWorld/Index باعث می‌شود متد Index از کلاس HelloWorldController اجرا شود. توجه داشته باشید که ما در مرورگر فقط می‌توانیم به آدرس /HelloWorld برویم و متد Index به طور پیش‌فرض انتخاب می‌شود. این امر به این دلیل است که متد با نام Index متد پیش‌فرضی است که بر روی کنترلر فراخوانی می‌شود. بخش سوم(Parameters) URL به داده route اختصاص دارد. در مورد داده route در قسمت‌های بعدی این سری آموزشی صحبت خواهیم کرد.
در مرورگر به آدرس http://localhost:xxxx/HelloWorld/Welcome بروید. متد Welcome اجرا می‌شود و رشته “This is the Welcome action method” را برمی‌گرداند. نگاشت(mapping) پیش‌فرض در MVC به صورت [Controller]/[ActionName]/[Parameters] خواهد بود. برای این URL، کنترلر HelloWorld و Welcome متد اجرایی است. شما هنوز از بخش [Parameters] در URL استفاده نکرده‌اید.

آموزش asp mvc

حال تغییر کوچکی در مثال ایجاد می‌کنیم به طوری که بتوانیم اطلاعاتی از پارامترها را از URL به کنترلر ارسال کنیم.(به عنوان مثال /HelloWorld/Welcome?name=Scott&numtimes=4). متد Welcome را به صورت زیر به گونه‌ای تغییر دهید شامل دو پارامتر باشد. توجه داشته باشید که کد زیر از مشخصه‌ای از C# به نام optional-parameter  استفاده می‌کند و اگر مقداری را برای پارامتر اختصاص ندهید خودش مقدار 1 را به آن پارامتر اختصاص می‌دهد.

برنامه را اجرا کنید و در مرورگر به آدرس :

http://localhost/HelloWorld/Welcome?name=Scott&numtimes=4 بروید. می‌توانید از name و numtimes متفاوتی استفاده کنید.

aspmvc01

در نمونه بالا بخش سوم از URL  استفاده نشده است. پارامترهای  name و numtimes به صورت query string ارسال می‌شوند. علامت سوال ؟ در URL بالا یک جداکننده (separator) است. کاراکتر & نیز query string ها را از هم جدا می‌کند.

قطعه کد زیر را در متد Welcome قرار دهید:

برنامه را اجرا کنید و URL زیر را وارد کنید.

http://localhost:xxxx/HelloWorld/Welcome/3?name=Rick

آموزش asp mvc

در این حالت بخش سوم URL با پارامتر ID  مطابقت می‌یابد. متد Welcome شامل پارامتری (ID) است که با مشخصه‌های URL در متد RegisterRoutes مطابقت دارد.

در برنامه‌های ASP.NET MVC معمولا پارامترها را به عنوان route data ارسال می‌کنند تا به عنوان .query string شما همچنین می‌توانید یک مسیر(route) اضافه کنید تا هر دو پارامتر name و numtimes را به عنوان داده مسیر ((route data در URL ارسال کنید. در شاخه App_Start\RouteConfig.cs مسیر Hello را اضافه کنید:

برنامه را اجرا کنید و با مرورگر به آدرس /localhost:xxx/HelloWorld/Welcome/Scott/3 بروید.

اموزش asp.net

در بسیاری از برنامه‌های MVC مسیر پیش‌فرض به درستی کار می‌کند. بعدا در این سری آموزشی خواهید آموخت که چگونه داده را با استفاده از model binder ارسال کنید. در این مثال‌ها کنترلر از بخش VC در MVC استفاده می‌کند که view و controller خواهد بود. کنترلر HTML را به صورت مستقیم برمی‌گرداند. به طور عادی معمولا تمایلی نداریم که کنترلر، HTML را مستقیما برگرداند زیرا کدنویسی آن زمانبر است.

درباره ی محمد بروشکی

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

فیلم آموزش برنامه نویسی

دانلود آموزش تصویری ASP.NET MVC 5

آموزش تصویری ASP.NET MVC 5  از Udemy یکی از محبوترین دوره های آموزشی ASP.MVC می باشد ...

پاسخ دهید

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