آکادمی برنامه نویسان مشهد

برگزاری دوره های آموزش برنامه نویسی و طراحی سایت در مشهد

آکادمی برنامه نویسان مشهد

برگزاری دوره های آموزش برنامه نویسی و طراحی سایت در مشهد

دسترسی به داده ها در ASP.Net MVC با استفاده از Entity Framework و HTML Helper ها

دسترسی به داده ها در ASP.Net MVC با استفاده از Entity Framework و HTML Helper ها

در این مقاله نحوه بازیابی داده ها از جدول پایگاه داده SQL  با استفاده از Entity Framework و همچنین نحوه ایجاد لینک ها با استفاده از HTML helper های موجود ASP.Net MVC شرح داده می شود.

مرحله ۱

یک دیتابیس با مقداری داده نمونه با استفاده از اسکریپت SQL  زیر ایجاد کنید .

مرحله ۲

یک پروژه جدید MVC  در ویژوال استدیو با نام MVCDataAccessByEntityFrame ایجاد کنید .

MVC Project

empty templet

مرحله ۳

با استفاده از Nuget package manager در Solution Explorer فریم ورک Entity برروی پروژه نصب کنید.

nuget package manager

solution explorer

مرحله ۴

به پوشه Models  در Solution Explorer رفته و ۲ فایل کلاس به آن اضافه کنید.

Models

مرحله ۵

کدهای زیر را در کلاس های ایجاد شده در مرحله قبل کپی کنید.

Students.cs

StudentsContext.cs

مرحله ۶

به پوشه Controllers رفته و یک کنترلر به آن اضافه کنید.

Controllers

مرحله ۷

کدهای زیر را به کنترلر اضافه کنید.

مرحله ۸

Ctrl + Shift + B فشرده و سپس برروی متد index راست کلیک کرده و گزینه add a view را انتخاب کنید.

index method

مرحله ۹ 

کد های زیر را به Index.cshtml اضافه کنید.

مرحله ۱۰

برروی متد Details راست کلیک کرده و گزینه add a view را دوباره انتخاب کنید.

add a view

مرحله ۱۱

کدهای زیر را به  details.cshtml اضافه کنید.

 

مرحله ۱۲

به فایل  web.config در پوشه Views   در Solution Explorer رفته و کدهای زیر را به آن اضافه کنید .

 

مرحله ۱۳

به فایل Route.config در پوشه App_Start بروید و کد های زیر را در آن کپی کنید .

 

مرحله ۱۴

همه تغییرات را ذخیره کرده و F5 را فشرده تا پروژه اجرا شود سپس شما لیست دانش آموزان را خواهید دید که با کلیک برروی هر یک از آنها می توانید جزئیات اطلاعات هر یک را ببینید.

student list

details

 

 

 

 

آموزش asp net آموزش ساخت سایت با asp net آموزش طراحی سایت با asp net آموزش فارسی asp net آموزش گام به گام asp net

معرفی ASP.NET MVC

معرفی ASP.NET MVC

معرفی ASP NET MVC

Model-View-Controller یا MVC الگویی است که یک برنامه کاربردی را به سه بخش اصلی زیر تفکیک می کند :

  1. Model
  2. View
  3. Controller

چهار چوب ASP.NET MVC یک جایگزین ASP.NET Web Form ها برای ساخت برنامه های تحت وب است. چهار چوب ASP.NET MVC سبک بوده و قابلیت تست پذیری بالایی دارد و همچنین یکسری از ویژگی های ASP.NET Form  را مانند master page ها ، سیستم های احراز هویت داراست. فریمورک MVC  در اسمبلی System.Web.Mvc تعریف شده است و کنترل کاملی برروی JavaScript،HTML و CSS دارد. همچنین استفاده از آن برای ساخت برنامه های با مقیاس بزرگ که تیم های مختلفی برروی آن کار می کنند پیشنهاد می شود.

الگوی طراحی MVC

معرفی asp net mvc

مزایای یک برنامه تحت وب  MVC

فریمورک ASP.NET MVC دارای مزایای زیر است :

  • مدیریت ساده  پیچیدگی ها  به وسیله تقسیم کردن برنامه به قسمت های Model ، View و Controller
  • عدم استفاده از view state و فرم های سروری
  • کنترل کامل برروی HTML، JavaScripts و CSS
  • پشتیبانی بهتر از آزمون TTD
  • به خوبی برای پروژه هایی که به وسیله تیم های بزرگ پشتیبانی می شود کار می کند و همچنین مناسب برای طراحان وبی است که نیاز زیادی به کنترل کامل برروی رفتار های برنامه دارند.
  • به صورت پیش فرض از احراز هویت Facebook  و google  پشتیبانی می کند.
  • مدیریت ساده برنامه های بزرگ به وسیله تقسیم بندی آنها با Area ها.

فضاهای نام  ASP.NET MVC

  • System.Web.Mvc
    شامل کلاس ها و اینترفیس هایی است که به وسیله الگوی MVC در ASP.NET  پشتیبانی می شود.این فضای نام شامل کلاس هایی مانند controller ها ، action result ها، view ها ،  partial view ها ، model binder هاست.
  • System.Web.Mvc.Ajax
    شامل کلاس هایی است که اسکریپت های Ajax  را  در یک برنامه ASP.NET MVC پشتیبانی می کند.
  • System.Web.Mvc.Async
    شامل کلاس ها و اینترفیس هایی جهت پشتیبانی یک برنامه MVC  از  اعمال غیرهم زمان .
  • System.Web.Mvc.Html
    شامل کلاس هایی است که کمک  به رندر کردن کنترل های HTML  در یک برنامه MVC  می کند. کلاس های موجود در این فضای نام پشتیبانی میکنند از فرم ها ، کنترل های ورودی ، لینک ها ،partial view ها و اعتبار سنجی.

 

تفاوت های بین ASP.NET MVC  و Web Form ها

در این قسمت معرفی ASP NET MVC به تفاوت های بین ASP.NET MVC  و Web Form ها خواهیم پرداخت :

ASP.NET Web Form ASP.NET MVC
Web Form ها از تکنیک Code behind برای تقسیم یک صفحه .aspx دو بخش یکی برای نمایش و دیگری فایل های کد aspx.cs/aspx.vb استفاده می کنندیک برنامه وب MVC از الگوی طراحی جهت مدیریت برنامه به 3 بخش Model ، View و Controller استفاده میکند.
ASP.NET Web Form شامل کنترل های سروری استASP.NET MVC دارای html helper هاست
ASP.NET Web Form از View state برای مدیریت وضعیت سمت کاربر پشتیبانی می کند.ASP.NET MVC از View State پشتیبانی نمی کند
کنترل محدودی برروی HTML و JavaScript و CSS فراهم می کندکنترل کاملی برروی JavaScript ، HTML و CSS فراهم می کند
مناسب برای برنامه هایی با مقیاس کوچک و تیم هایی برنامه نویسی با تعداد کممناسب برای کار برروی برنامه هایی با مقیاس بزرگ و چندین تیم برنامه نویسی

 

ساختار برنامه ASP.NET MVC

ساختار یک برنامه ASP.NET MVC حداقل به سه پوشه View ، Model  و Controller تقسیم می شود همچنین پوشه های دیگری برای نگهداری فایل های اسکریپت و داده و موارد دیگر وجود دارد.

 ASP.NET MVC چیست

  1. Model
    ازمدل برای نگهداری داده کلاس های  ایجاد شده به وسیله Linq to SQL  یا  Entity Framework ، و یا ارجاع به سرویس هایی مانند WCF  استفاده می شود . در نهایت استفاده  از مدل برای ارائه داده ها به View است.
  2. View
    پوشه View برای نگهداری View ها و یا Patial View ها استفاده می شود هر View  عمل خاصی را بر اساس آنچه کلاس کنترلر به آن محول کرده انجام می دهند. معمولا پوشه View  شامل پوشه ای با نام Shared می شود که صفحات و یوزر کنترل هایی که به وسیله بیشتر کنترلر ها استفاده می شود در آن قرار دارد.
  3. Controller
    پوشه کنترلر مجموعه ای از کلاس ها را شامل می شود که هر کلاس فرزند  System.Web.Mvc.Controller است.یک کلاس کنترلر تنها شامل متد ها یی می شود که به آنها متدهای Action  گفته می شود. متدهای Action  مسئول برگرداندن یک Patial View , View ، محتوا ، داده Json  و موارد دیگر است.

اکشن ها

اکشن ها برای نوشتن کدها برای انجام کاری خاص استفاده می شوند همچنین مسئولیت بازگشت دادن مواردی برای کاربر مانند یک صفحه ویا یوزر کنترل را بر عهده دارند. هر اکشن  شامل یکی از دو نوع در خواست HTTP  زیر می شود:

  1. [HttpGet] اکشن ها ی HttpGet برای اجرای درخواست هایی که مستقیما از کاربر می رسد و یا به عبارتی درخواست ها برای اولین بار  به وسیله متد اکشن دریافت می شود.
  2.  [HttpPost]
    اکشن های [HttpPost] تنها زمانی فراخوانی می شوند که قبلا در سمت کاربری بازدید شده اند و کاربر یک فرم HTML را به وسیله دکمه Submit  ارسال می کند همچنین وقتی که این نوع اکشن فراخوانی می شود در آن می توان همه مقادیر کنترل ها را به وسیله   FormCollection از فرم HTML  بدست آورد. یک متد اکشن می تواند انواع مختلفی از اطلاعات و مقادیر را برای کاربر برگرداند. ما می توانیم انواع مختلفی را برای کاربر از یک متد اکشن برگردانیم اما بیشتر از ActionResult استفاده می کنیم زیرا   ActionResult والد انواع مخلتف است.

 

Area  ها در ASP.NET MVC

در نسخه ASP.NET MVC 2.0 مایکروسافت ویژگی جدیدی با نام Area ها را معرفی کرد. Area ها برای تقسیم بندی یا مجزا کردن یک برنامه بزرگ به چندین برنامه MVC استفاده می شود . به عنوان نمونه :

 

زمانیکه شما یک area  را به پروژه اضافه می کنید یک route (مسیر) برای area  در فایل AreaRegistration تعریف می شود.این route درخواست های رسیده از URL  به یک area  هدایت می کند.

کلاس آموزش طراحی وب سایت در مشهد با ASP.NET MVC

 دوره آموزش طراحی وب

 

 

asp آموزش asp آموزش asp mvc آموزش ساخت سایت با asp net آموزش طراحی سایت با asp net آموزش گام به گام asp net

آموزش ایجاد اولین برنامه در ASP.Net MVC 5.0

آموزش ایجاد اولین برنامه در ASP.Net MVC 5.0

در این مقاله نحوه ایجاد اولین برنامه ASP.Net MVC 5.0 از ابتدا به صورت گام به گام در ویژوال استدیو ۲۰۱۵ آموزش داده می شود. در صورتیکه می خواهید اطلاعات بیشتری درباره ASP.Net MVC بدست آورید مقاله قبل را بخوانید:

شروع کار با ASP.Net MVC

اولین مرحله : ویژوال استدیو را باز کرده و گزینه  “File” -> “New” -> “Project” را انتخاب کنید.

گزینه ها را مانند شکل زیر انتخاب کنید:

بعد از اینکه برروی Ok کلیک کردید پروژه ایجاد می شود. حال solution را برای دیدن پروژه باز کنید که در آن ۳ پوشه خالی  Model , Controllers و Views  دیده می شودکه به ترتیب مکان قرار گیری کنترلر ، مدل  و ویو های پروژه است

همچنین یک پوشه با نام App_Start که برخی فایل ها مانند RouteConfig.cs در آن قرار دارد که مکان نوشتن Route(مسیر) پیش فرض برای اپلیکشن MVC است.

بعد از باز کردن فایل RouteConfig.cs  کد های زیر در آن دیده می شود.

مسیر تعریف شده در بالا به صورت پیش فرض در هر پروژه MVC  قرار دارد.شما می توانید با توجه به نیاز آن را تغییر دهید. حال می خواهیم یک کنترلر را به پروژه اضافه کنیم برای این کار برروی Controllers  راست کلیک کرده و گزینه Add را انتخاب کنید.

گزینه MVC 5 Controller را انتخاب کنید.همچنین در این قسمت انتخاب های بیشتری برای قالب های controller وجود دارد که به Scaffolder Template ها شناخته می شوند که به وسیله آنها می توان  Entity Framework را مستقیما Bind  کرد و همه اکشن متد های مورد نیاز عملیات CRUD را ساخت. فعلا در این مرحله Empty Controller را از لیست قالب ها انتخاب کنید تا اکشن های پایه ای را برای اولین برنامه ایجاد کنیم.

نام کنترلر را در فرم وارد کنید اما هرگز عبارت Controller بعد از نام کنترلر حذف نکنید زیرا یکی از قرار داد های MVC است.

 استفاده از فضای نام System.Web.MVC

هر کلاس در این قسمت از کلاس Controller ارث بری دارد و همچنین شامل یک اکشن پیش فرض با نام Index است.

 

به صورت پیش فرض اکشن نوع ActionResult را بر می گرداند و ما نیاز به افزودن یک View داریم.

نام View و نام اکشن می تواند یکی باشد و یا متفاوت اما باید در پوشه هم نام با کنترلر و در  نهایت در پوشه View  ایجاد گردد.  در صورتیکه نام View  و اکشن یکی است نیاز به تعریف نام View  در هنگام برگرداندن View از اکشن نیست اما در صورتیکه این نام متفاوت است باید نام  در قالب رشته ارسال شود (“نام  “)View .

حال View  را اضافه می کنیم. ۲ راه برای افزودن View وجود دارد.

  • برروی متد اکشن راست کلیک کرده و گزینه Add View را انتخاب کنید.

    یک نام برای View گذاشته و همچنین از template  برای ایجاد View ی نوع دار با استفاده از مدل   و  گزینه layout page را برای استفاده View  از    layout   انتخاب کنید.
  • روش دوم افزودن یک پوشه هم نام با کنترلر به پوشه Views  در سولشن و راست کلیک کردن برروی آن و افزودن View ی مورد نظر به آن است.

    نام View را مشخص کرده و برروی OK کلیک کنید.

صفحه View ایجاد شده با پسوند  cshtml . خواهد بود که از Razor برای رندر کردن صفحه در HTML5 استفاده می کند.

حال یک پیام را در عنوان چاپ می کنیم .

 حال پروژه را اجرا کرده و خروجی حاصل را ببینید.

asp آموزش asp net آموزش ساخت سایت با asp net آموزش فارسی asp net دانلود آموزش تصویری asp net

ذخیره فایل در پایگاه داده SQL Server با استفاده از کنترل FileUpload

ذخیره فایل در پایگاه داده SQL Server با استفاده از کنترل FileUpload

دراین مقاله نحوه ذخیره مستقیم فایل در پایگاه داده با استفاده از کنترل FileUpload در ASP.NET شرح داده می شود .

طراحی پایگاه داده

من یک پایگاه داده با نام dbFiles  که دارای یک جدول با نام dbFiles ایجاد کردم . در جدول ۴ فیلد وجود دارد. نمای  کامل در تصویر زیر :

UploadFilesToDB-1

همانطور که در بالا مشاهده می کنید Identity Specification در فیلد id به مقدار  true  تنظیم  شده است به این معنی که به صورت خودکار خودش افزایش پیدا کند.

فیلدتوضیحات
idشناسه
Nameنام فایل
Content Typeنوع محتوای فایل
Dataفایل ذخیره شده بر اساس داده های باینری

ارتباط با پایگاه داده ( Connection String)

Connection String جهت ارتباط با پایگاه داده در زیر آمده است با توجه به نیازتان آن را تغییر دهید

 

برای شروع یک کنترل FileUpload ، یک دکمه و یک Lable برای نمایش پیام اضافه کنید

 

کد های زیر برای صدا زدن رویداد کلیک در دکمه آپلود است

C#

VB.Net

در کد های بالا فایل آپلود شده ابتدا به صورت Stream (جریان) خوانده شد و بعد تبدیل به آرایه از بایت ها با استفاده از Binary Reader شد و در نهایت آرایه بایت ها در پایگاه داده با استفاده از متد InsertUpdateData  ذخیره شد.

تابع InsertUpdateData در زیر آمده است

C#

VB.NET

شما می توانید کد های مربوطه (VB و #C) را از لینک زیر دانلود کنید .

دانلود کدها


ساخت Navigation Drawer در اندروید

ساخت Navigation Drawer در اندروید

در این مقاله ساخت Navigation Drawer در اندروید ، یاد خواهیم گرفت که چگونه از یک ” Navigation Drawer” برای اکتیویتی های مختلف استفاده کنیم. Navigation Drawer یک ویجت مهم در اپلیکیشن اندروید است که بر اساس انتخاب کاربر Fragments های Navigation در هنگام بارگذاری بصورت صفحه های مختلفی مشاهده می شوند. اما گاهی اوقات ، استفاده از Fragments با  Navigation می تواند باعث ایجاد مشکلاتی شود. به جای استفاده از Fragment ها، ما می توانیم از روش پایین که بسیار ساده است بهره بگیریم.

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

مرحله ۱: یک پروژه جدید را با Navigation Drawer Activity ایجاد کنید.
مرحله ۲: یک BaseActivity که از AppCompatActivity ارث بری دارد را ایجاد نمایید.
مرحله ۳: اکتیوتی ها بعد را  با استفاده از ارث بری از BaseActivity ایجاد کنید.
مرحله ۴: از منوی عملیات ، قابلیت هایی را به Navigation بیافزایید.

بدون هیچ مقدمه ای دیگر، وارد قسمت کد نویسی می شویم.

مرحله ۱ – ساخت navigation drawer در اندروید :

۱٫ Android Studio را باز کرده و یک پروژه جدید ایجاد کنید.
۲٫ نامی دلخواه را به عنوان نام پروژه خود انتخاب کنید و Navigation Drawer activity را انتخاب کنید.

.ساخت navigation drawer در اندروید

۳٫ برای ایجاد یک پروژه جدید در Android Studio، روی دکمه Finish کلیک کنید.

مرحله  ۲ – ساخت navigation drawer در اندروید :

۱- در این مرحله، Navigation Drawer activity را به BaseActivity تغییر نام می دهیم. به عنوان مثال، من “MainActivity” را به “BaseActivity” تغییر نام دادم.

۲- بخش پیش فرض کدگذاری در BaseActivity را ، بصورتی که در زیر نشان داده شده است تغییر دهید.

  •  والد این اکتیویتی  AppCompatActivity است. بنابراین، BaseActivity را می توان به عنوان Parent Activity برای دیگران بمنظور دسترسی به ویژگیها و قابلیتهای AppCompatActivity استفاده نمود.
  •  این اکتیوتی OnNavigationItemSelectedListener را پیاده سازی کرده است .  بنابراین، در اینجا می توانید navigation of activities را راه اندازی کنید .

بخش کدنویسی :

     فایل content_main.xml را ایجاد کنید و FrameLayout را همانطوری که در زیر نشان داده شده است به عنوان Parent Layout اضافه کنید. این Frame Layout برای اتصال و ارتباط children layouts مورد استفاده قرار می گیرد.

 

در اینجا، FrameLayout دارای یک id با نام “content_frame” می باشد .

فایل BaseActivity.java خود را باز کنید و کد زیر را اضافه کنید. در اینجا، activity_main.xml برای content_main.xml استفاده شده است.

  • Drawer Layout برای پیاده سازی Sidemenu در اندروید استفاده می شود.
  •  در اینجا class و SecondActivity.class به عنوان اکتیوتی های فرزند BaseActivity استفاده می شود.
 

در اینجا، StartAnimatedActivity (اینتنت) برای شروع فعالیتی با انیمیشن مورد استفاده قرار می گیرد.

مرحله ۲

۱- یک  Activity جدید ایجاد کرده و برای آن نامی انتخاب کنید . والد این کلاس را از AppCompatActivity به BaseActivity تغییر دهید.
۲- بار دیگر، یک  Activity جدید  ایجاد کرده و آن را  نامگذاری کنید. والد این کلاس را از AppCompatActivity به BaseActivity تغییر دهید.

مرحله ۳

۱-همانطور که در زیر نشان داده شده است SetContentView را در متد onCreate فایل های ایجاد شده در مرحله ۲ جایگزین کنید.

بخش کد نویسی :

 

در اینجا لایوت activity_first.xml ،  برای فعالیت FirstActivity.java می باشد. از این روش برای مشخص کردن لایوت در BaseActivity استفاده می شود.
کد کامل برای FirstActivity.java

 

در اینجا، من از متد onBackPressed برای بستن DrawerLayout و بستن اپلیکیشن استفاده کرده ام .

به این ترتیب، می توانید از NavigationView مشابهی برای تمام فعالیت ها استفاده کنید. همچنین می توانیم فعالیت های دیگری را با همان رویکرد برای نمایش NavigationView ایجاد کنیم.

نکته:

      فراموش نکنید که launcher activity خود را به FirstActivity تغییر دهید.

دانلود پروژه ساخت Navigation Drawer در اندروید

دانلود پروژه