چند وقتی بود که یک پروژه MVC رو شروع کرده بودم ، لایه های مختلف نرم افزار رو ساختم و داشتم خوب پیش ممی رفتم.
همه چیز خوب بود تا اینکه نیاز پیدا کردم که Enum های برنامم رو داخل دراپ داون لیست بایند کنم.
خوب روش های معمول نیاز به کدنویسی زیادی داشتند که اصلا به نظرم مناسب نیومدند ، در روش های معمول برای هر Enum باید یک Extention Method  (متد الحاقی) بنویسیم که در برنامه هایی که دارای تعداد زیادی Enum هستند مناسب به نظر نمیرسه.

روش جدیدتری که در MVC5 ارائه شده ، ساخت یک Html Helper سفارشی از نوع جنریک می باشد که برای انواع Enum می تواند مورد استفاده قرار گیرد

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

بنابراین برای Enum ها کدی مشابه کد زیر خواهیم داشت :


خوب وارد جزئیات کار نمی خوام بشم چون هر کس علاقه داره می تونه از اینجا جزئیات پیاده سازی رو بخونه


مشکل جایی پیش اومد که یکی از متدهای کد من ارور می داد و متن ارور مشخص می کرد که همچین متدی در کلاس HtmlHelper وجود ندارد !
ولی HtmlHelper که در فضا نام System.Web.Mvc است باید همچین متدی داشته باشه !
در بین مقالات خوندم که این تکنیک فقط در mvc 5 می باشد و در نسخه های قبلی امکان ساخت helper سفارشی میسر نبوده است ...

با کلی سرچ در اینترنت به این نتیجه رسیدم که کدم مشکلی نداره و حتی در ساخت مایکروسافت هم همچین کدی پیشنهاد شده ! پس مشکل کد من از کجا بود ؟!
در مقاله ای بیان شده بود که باید یک سری تگ به فایل کانفیگ برنامه اضافه بشه .. در این تگ ها تگی نظرمو جلب کرد :


 در این کد نسخه ام وی سی را 5.1 معرفی کرده اند ، ولی من با بررسی نسخه اسمبلی system.web.mvc دیدم که نسخه من 4 است !

مگر پروژه من ام وی سی 5 نیست !
داستان چی بود ؟

با کمی سرچ توی اینترنت به این مقاله جالب برخورد کردم ، این مقاله مشخص می کنه که در ویژوال استودیو 2013 در زمان ساخت پروژه جدید mvc باید دقت کنید که به اشتباه پروژه رو از نوع mvc4 نسازید !
این یک کار عجیب غریب از مایکروسافته که 2 نوع منو برای ساخت پروژه ام وی سی داره که بایدحواستون جمع باشه که به اشتباه از طریق زیر اقدام به ساخت پروژه جدید mvc کنید ، چون اینجوری پروژه شما mvc 4 ساخته می شود!
File > New > Project > C# > Web > Visual Studio 2012

برای اینکه پروژه شما mvc 5 بشه باید پروژتونو اینطوری ایجاد کنین :

File > New > Project > C# > Web

باید دقت کنین که نباید زیر منوی Visual Studio 2012 رو انتخاب کنین.
در مرحله بعدی باید در پنجره جدیدی که باز میشه MVC رو انتخاب کنین و در پایان OK رو بزنین.

خوب پس از این به بعد حواستون به نحوه ساخت پروژه mvc تون باشه

نوشته شده در تاریخ جمعه 10 بهمن 1393    | توسط: ح.م    | طبقه بندی: آموزش mvc،     | نظرات()