بسم الله الحق

افزودن یک کنترلر:

MVC   یک الگوی برنامه نویسی برای نوشتن برنامه هایی با یک معماری عالی است که به راحتی تست می شوند . برنامه های بر پایه mvc شما مل موارد زیر هستند :

Model: کلاس هایی هستتند که داده های مورد نیاز برنامه را تامین می کنند و با اعمال منطق اعتبار سنجی رول های بیزینیس را مجبور به کار با داده های معتبر می نمایند .

VIEW : فایل های قالبی هستند که برنامه با استفاده از آنها به صورت پویا کد HTML تولید می کند

CONTROLLERS: کلاس هایی هستند که درخواست های رسیده از مرورگر را با داده های مرتبط در لایه مندل هماهنگ کرده و سپس برای لایه view معین می کنند با چه ظاهری پاسخ را در مرورگر نمایش دهند .

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

بیایید با ساختن یک کلاس کنترلر کار را شروع کنیم . در پروژه  قسمت قبل ، در بخش Solution Explorer بر روی  پوشه Controllers راست کلیک کرده و گزینه Add Controller را انتخاب نمایید :

نام کنترلر جدید خود را HelloWorldController بگذارید. نام تمپلیت پیش فرض را همان  " Empty MVC controller " باقی بگذارید و کلید add  را بزنید.

اگر به پنجره Solution Explorer دقت کنید خواید دید که یک فایل جدید با عنوان  "HelloWorldController.cs" ساخته شده است. این فایل در IDE باز می باشد.

http://i2.asp.net/media/3203500/hellwrldcntroller.png?cdn_id=2013-07-15-001

محتوای این فایل را با کد زیر جایگزین نمایید :

usingSystem.Web;

usingSystem.Web.Mvc;

 

namespaceMvcMovie.Controllers

{

    publicclassHelloWorldController : Controller

    {

        //

        // GET: /HelloWorld/

 

        publicstringIndex()

        {

            return"This is my <b>default</b> action...";

        }

 

        //

        // GET: /HelloWorld/Welcome/

 

        publicstringWelcome()

        {

            return"This is the Welcome action method...";

        }

    }

}

 متد تعریف شده در کنترلر یک رشته html ی بر می گرداند . نام ان کنترلر HelloWorldControllerگذاشته شده است و نام اولین متد آن Indexگذاشته شده است .حالا این متد را از داخل مرورگر فراخوانی م یکنیم . برای این کار کافی است اپلیکیشن را اجرا کنیم . همانطور که در مرحله قبل این کار انجام شد یا از طریق منوی debug یا از طریق کلید میانبر F5 اپلیکیشن را اجرا می کنیم . در آدرس بار مرورگر عبارت "HelloWorld" را به انتهای url ظاهر شده اضافه کنید . در مثال زیر این آدرس به صورت زیر تغییر می کند :

http://localhost:1234/HelloWorld.

صفحه مرور گر به صورت زیر تغییر می کند . همانطور که می بینید در متد تعریف شده ، کد مستقیما یک رشته را بر می گرداند. شما تنها به سیستم گفته اید که یک رشته html ی را نمایش دهد او هم به حرف شما گوش کرده و نمایش داده است :

http://i1.asp.net/media/37661/IE_helloWorld.PNG?cdn_id=2013-07-15-001

ASP.NET MVC کلاس های کنترلر متفاوتی را فراخوانی می کند که هر کدام هم می تواند متد های متفاوتی را داشته باشد  که همه اینها در نحوه چینش url فراخوانی شده مشخص می شود . فرمت  url ی که استفاده می شود به صورت زیر است : /[Controller]/[ActionName]/[Parameters]

بخش اول url مشخص می کند که کدام کنترلر برای اجرا فراخوانی شده است .بنابر این عبارت /HelloWorld به کلاس HelloWorldControllerنگاشت می شود . در بخش دوم مشخص می کنیم که کدام متد از این کلاس اجرا شود . بنا بر این عبارت  /HelloWorld/Index باعث می شود که متد index از کنترلر HelloWorldController به اجرا در آید .توجه داشته باشید که متد index متد پیش فرض تمام کنترلر هاست و اگر در آدرس بار متد اجرایی را مشخص نکنیم این متد اجرا خواهد شد .
آدرسhttp://localhost:xxxx/HelloWorld/Welcome را در مرورگر فراخوانی کنید . مرور گر عبارت " This is the Welcome action method..." را نمایش می دهد . با توجه به اینکه نگاشت پیش فرض mvc به صورت /[Controller]/[ActionName]/[Parameters]است در این مثال کنترلر ما HelloWorld  و متد ما welcome است . در این بخش شما هنوز از پارامتر ها استفاده نکرده اید .

http://i2.asp.net/media/37675/WelcomeAction.PNG?cdn_id=2013-07-15-001