ایجاد Action Result سفارشی در MVC

جمعه 18 دی 1394

تا کنون انواع مختلف ActionResult و متدها ی ActionHelper که خروجی آنها را برمی گردانند را دیده اید که از قبل ایجاد شده بودند. اما در این مقاله می خواهیم ActionResult ای توسط خودمان ایجاد کنیم که داده ها را به صورت XML برگرداند. و نام آن را XMLResult قرار داده ایم.

ایجاد Action Result سفارشی در MVC

ایجاد Action Result سفارشی در MVC

در این مقاله می بینیم که چگونه می توان یک متد action result سفارشی ایجاد کرد. ما یک action result سفارشی ایجاد می کنیم که داده ها را به صورت XML برمی گرداند.

حالا مراحل ایجاد یک ActionResult سفارشی را به صورت زیر توضیح می دهیم:

1. یک پروژه MVC خالی ایجاد می کنیم.

2. بر روی نام پروژه راست کلیک کرده و Add->Class را انتخاب کنید:

3. نام آن را XMLResult قرار دهید.

4. کلاس XMLResult از ActionResult ارث بری کرده و متد ExecuteResult را بازنویسی(Override) می کند.

یک شیئ از کلاس HttpResponseBase ایجاد می کنیم که این یک کلاس پایه برای کلاس هایی است که پاسخ HTTP را از یک عملیات در ASP.NET فراهم می کنند.

- نوع محتوا را به application/XML تغییر دهید.

- یک سازنده پارامتر دهی شده(parameterized ) از کلاس XMLResult ایجاد کرده و datatable را به عنوان پارامتر به آن ارسال کنید.

- یک آبجکت datatable به آبجکت محلی datatable داخل سازنده اختصاص می دهیم.

- یک آبجکت dataset داخل متد ExecuteResult ایجاد کرده و یک datatable به آن شیئ اضافه می کنیم.

 

5. حالا یک کنترلر اضافه می کنیم. برای این کار بر روی Controllers راست کلیک کرده و Add->Controller  را انتخاب کنید.

6. یک پروژه MVC خالی ایجاد کرده دکمه add را بزنید:

نام آن را به صورت زیر قرار دهید:

8. یک آبجکت datatable ایجاد کرده و آن را با تعدادی از مقادیر داخل متد Index پر می کنیم.

Datatable را توسط XMLResult برمی گردانیم:

9. حالا پروژه را اجرا کرده و خواهید دید که datatable با استفاد از action result سفارشی که ایجاد کردیم به صورت XML تبدیل می شود:

فایل های ضمیمه

برنامه نویسان

نویسنده 3355 مقاله در برنامه نویسان

کاربرانی که از نویسنده این مقاله تشکر کرده اند

در صورتی که در رابطه با این مقاله سوالی دارید، در تاپیک های انجمن مطرح کنید