تبلیغات
مقالات آموزشی برنامه نویسی و شبکه - مطالب آموزش mvc

ساخت پروژه MVC5 در ویژوال استودیو 2013

چند وقتی بود که یک پروژه 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،     | نظرات()


آشنایی با NuGet

برای امروز یک مطلب جانانه برای برنامه نویسان سی شارپ و asp.net از سایت بسیار عالی «دات نت تیپس» براتون میزارم که نوشته جناب آقای می باشد.
این سایت یکی از بهترین مراجعه علمی برای قدم برداشتن در جهت برنامه نویسی حرفه ای می باشد و بنده به شخصه اطلاعات بسیار خوبی از این وب سایت کسب کرده ام.
به دوستانی که برنامه نویسی رو می خوان تازه شروع کنن سایت جناب علی دلشاد رو پیشنهاد می کنم (how2learnasp.net) که مدتی است سایت ایشون قطع شده ولی دعا می کنم که هر چه زودتر مجددا بالا بیاد تا علاقمندان بتونن از این منبع اطلاعاتی بسیار عالی بهره ببرند.

سایت جناب آقای نصیری رو به دوستانی که می خوان به یک برنامه نویس حرفه ای تبدیل بشن و دنبال تکنولوژی های روز مایکزوسافت در زمینه برنامه نویسی هستند پیشنهاد می کنم...

NuGet چیست؟

روش متداول استفاده از کتابخانه‌های موجود دات نتی در Visual studio‌ عموما به این صورت است: مراجعه به سایت مربوطه، دریافت بسته مورد نظر، باز کردن آن و سپس افزودن ارجاعی به اسمبلی‌های آن کتابخانه. در این حالت زمانیکه نسخه‌ی جدیدی از کتابخانه‌ی مورد استفاده ارائه ‌شود (و عموما تا مدت‌ها شاید از آن بی‌اطلاع باشیم) تمام این مراحل باید از ابتدا تکرار شوند و همینطور الی آخر.
برای رفع این نقیصه، تیم ASP.NET، افزونه‌ای سورس باز و رایگان را به نام NuGet جهت VS.Net 2010 طراحی کرده‌اند که کار مدیریت بسته‌های کتابخانه‌های مورد استفاده را بسیار ساده کرده است. امکانات این افزونه پس از نصب، در دو حالت استفاده از رابط گرافیکی کاربری آن و یا با استفاده از خط فرمان PowerShell ویندوز در دسترس خواهد بود. این افزونه در زمان بارگذاری، با مراجعه به فید سایت مرکزی خود، لیست بسته‌های مهیا را در اختیار علاقمندان قرار می‌دهد. درب این سایت مرکزی به روی تمام توسعه‌ دهنده‌ها جهت افزودن بسته‌های خود باز است.
و ... فراگیری کار با NuGet برای تمام برنامه نویسان دات نت لازم و ضروری است! از این جهت که پیغام "این بسته تنها برای NuGet عرضه شده است" کم کم در حال متداول شدن می‌باشد و دیگر سایت‌های مرتبط، لینک مستقیمی را جهت دریافت کتابخانه‌های خود ارائه نمی‌دهند. حتی خبر به روز شدن محصولات خود را هم شاید دیگر به صورت منظم ارائه ندهند؛ زیرا NuGet کار مدیریت آن‌ها را به عهده خواهد داشت.

نوشته شده در تاریخ شنبه 19 بهمن 1392    | توسط: ح.م    | طبقه بندی: آموزش mvc، آموزش ASP.NET،     | نظرات()


mvc چیست؟ چرا mvc ؟ تفاوت بین asp.net mvc و asp.net web form در چیست ؟

mvc چیست ؟ چرا mvc ؟ تفاوت بین asp.net mvc و asp.net web form در چیست ؟

با پیدایش تکنولوژی MVC این ها و هزاران سوال دیگر در ذهن برنامه نویسان وب نقش بست. برنامه نویسانی که تا به آن زمان با تکنولوژی web form کار می کردند.
برای پاسخگویی به سوالات بالا ابتدا می بایست با برخی اصطلاحات آشنا شوید.

View چیست؟
view ها در اصل همان قالب صفحات وب می باشند، همان خروجی ای که باید برای مروگر کاربر ارسال شود. view ها بصورت مستقیم با تگ های html ، کدهای css  و  js سروکار دارند.

View Engine چیست؟
view engine یا موتورهای نمایش ، هسته اصلی asp.net هستند.
بخشی که وظیفه اش پردازش view ها و دستوراتی است که در داخل view ها نوشته شده است.

در asp.net به دو روش می توان یک وب سایت ایجاد کرد:
  1. با استفاده از تکنولوژی web form
  2. با استفاده از تکنولوژی mvc
در تکنولوژی وب فرم ، view ها درون فایل هایی با پسوند .aspx نگهداری می شوند (در اصل view ها بخش دیزاین صفحاتمان می باشند)
در وب فرم ، view ها بوسیله موتور نمایش ASPX پردازش می شوند.

در تکنولوژی mvc ، ویوها درون فایل هایی با پسوند cshtml.  یا vbhtml. می باشند (بسته به اینکه از سی شارپ و یا وی بی برای کد نویسی پروژه استفاده کنین) و از موتور نمایش Razor برای پردازش ویوها استفاده می شود (البته در mvc از موتور aspx هم می تونین استفاده کنین ولی موتور اختصاصی اش Razor است که مخصوصا برای پردازش view های mvc طراحی شده است و به نظرم سرعتشم خیلی بیشتر از aspx باید باشه)

mvc چیست؟
mvc مخفف Model - View - Controller است.
در mvc دیگر فایلی به نام صفحه وجود خارجی و فیزیکی ندارد! و همه چیز بر اساس شی گرایی و کلاس های مختلف بنا شده است.
پروژه های mvc دارای سه بخش اصلی با نام های Model  ، View  و Controller می باشند.

Model : کلاس های اشیایی که قرار است با آنها در پروژه کار کنیم در این بخش قرار می گیرند.
کلاس هایی مانند Person ، Product ، ShopingCard ، Members و ...

View : همان قالب های html  - css  - js  خروجی هستند که قرار است به کاربران نمایش داده شوند.
(به بیان ساده همون بخش دیزاین صفحات در تکنولوژی web form هستند)

Controller : بخش اصلی mvc و کنترل کننده درخواست ها (http request ها) هستند و مشخص می کنند که وقتی کاربری درخواست مشاهده آدرس  http://mysite.com و یا http://mysite.com/product و یا http://mysite/product/list را داد ، چه اطلاعاتی باید به کدام ویو پاس داده شود و سپس خروجی ویو دریافت و برای کاربر ارسال گردد.

نکته جالب در زمان کار با mvc این است که شما در آدرس های مختلف یک سایت پسوندهای معمول aspx. را مشاهده نمی نمایید.
این بدین دلیل است که آدرس صفحات در mvc بدین صورت ترجمه می شود:

http://mysite.com/{controller}/method/data

بنابراین وقتی درخواستی برای مشاهده آدرسی همانند http://mysite/product/list را می دهیم ، در اصل شما متد (تابع) list از کنترلر product را مستقیما فراخوانی (اجرا) می نمایید و خروجی تابع را در مروگر خود مشاهده می نمایید (می توان گفت که خروجی توابع کنترلر ها یک سند کامل html است)

جالب است ؟ یعنی کاربران سایت شما ، با ورود به آدرس های مختلف ، در اصل دارند توابع موجود در کنترلر های سایت شما را فراخوانی می نماییند.
در آموزش های بعد خواهید دید که خروجی متد ها (توابع) کنترلرها از نوع داده ای ActionResult است (محتویان یک سند html کامل).

به راستی که خیلی مهیج و جالب است.... نه ؟


متد Respository :
به بیان ساده ما در پروژه های mvc کدهایی که کار با اطلاعات منابع داده ای (دیتابیس SQL یا ...) را برایمان انجام می دهند را درون بخش Model نمی نویسیم و آنها را در بخش مجزایی می نویسیم تا کدهای آنها با کدهای بخش Model پروژه قاطی نشوند، به این کار که موجب جداسازی کدهای لایه دیتا با کدهای بخش Model می شوند ، اصطلاحا Respository می گویند.
پس اگر مثل بنده در درون مقالات آموزش MVC به این کلمه برخورد کردید ، اصلا نترسید .... چون چیز خاصی نیست!


اگر از این مقاله و mvc خوشتون اومده ، پیشنهاد می کنم آموزش های بعدی بنده رو دنبال کنید
در مقالات بعدی mvc را کامل تر بررسی می کنیم و نحوه ایجاد پروژه های mvc را نیز بیان می نماییم...
با آرزوی موفقیت.
ح.مراداف

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


MVC چیست ؟

با سلام خدمت برنامه نویسان و همراهان سایت "نت نیک"

برای این ساعت از سایت نت نیک بخش اول آموزش MVC در ASP.Net رو می خوام آموزش بدم.

MVC چیست ؟

در این آموزش بیان می کنیم که اصلا MVC چیست ؟ و به چه دردی می خوره .


بطور کلی برای طراحی صفحات وب دو روش وجود دارد :

  1. طراحی صفحات با استفاده از وب فرم ها
  2. طراحی بوسیله تکنولوژی جدید MVC یا Model View Controller

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