آموزش ASP.NET Core MVC

ایجاد نخستین پروژه ASP.NET Core MVC

ساخت یک پروژه از نوع ASP.NET Core ، اولین قدمی هست که باید برای ورود به دنیای برنامه نویسی با فریمورک ابرقدرت ASP.NET Core برداری 😉 پس این مقاله رو دنبال کن و اولین قدم خودت رو محکم بردار ، حتما شنیدی که میگن “همیشه قدم اول سخت ترین قدم است ” ، اما نگران نباش برای شروع کار با ASP.NET Core اولین قدم راحت ترین قدم هست تنها با چند کلیک ساده می تونی قدم اولت رو برداری.

سلام ، من آرزو ابراهیمی هستم برنامه نویس ASP.NET ، و با آموزش ایجاد پروژه ASP.NET Core در خدمت شما هستم در این مقاله طریقه‌ی ایجاد یک پروژه از نوع ASP.NET Core 3.0 در VisualStudio 2019 و طریقه‌ی ساخت پروژه از نوع ASP.NET Core 2.0 در VisualStudio 2017 را به شما آموزش خواهم داد.

ساخت نخستین پروژه ASP.NET Core 3.0

ابتدا نرم افزار ویژوال استودیو 2019 را اجرا کنید پس از اجرای نرم افزار با صفحه ای مانند تصویر زیر روبه رو خواهید شد ، من از ویژوال 2019 استفاده میکنم دقت کنید که اگر شما هم قصد دارید یک پروژه از نوع ASP.NET Core 3.0 ایجاد کنید حتما باید Visual studio 2019 رو نصب کنید.
حالا روی Create a new project کلیک کنید.
نخستین پروژه Visual studio
Visualstudio2019 Startpage

و سپس در پنجره ای که برای شما نمایش داده می شود ASP.NET Core Web Application را انتخاب کرده و سپس روی Next کلیک کنید.

البته هر چند ما درباره مراحل ساخت پروژه به شکل بسیار جامعی در دوره ۱۲۰ ساعت اموزش asp.net به صورت فیلم اشاره کردیم.

ساخت یک پروژه جدید در ویژال استودیو
visualstudio2019 create a new project

حالا در پنجره Configure your new project ، یک نام برای پروژتون قرار بدید من نام پروژه خودم را MyFirstProject قرار دادم و از قسمت Location می تونید محلی رو انتخاب کنید که می خواهید پروژتون در آنجا ذخیره شود. و سپس روی Create کلیک کنید تا یک قدم بریم جلوتر 😊

قراردادن نام برای پروژه در ویژوال استدیو 2019
visualstudio2019 configure your new project
حالا در مرحله بعدی باید الگوی پروژه ات را انتخاب کنی ، Visual studio شش تا گزینه برات میزاره روی میز ، حالا انتخاب با خودته که از کدوم الگو استفاده کنی .
این گزینه های روی میز عبارت اند از :
الگوی Web Application ، Web Application (Model – View – Controller) ، الگوی Empty ، الگوی API ، الگوی Angular ، الگوی React.js و الگوی React.js And Redux که در ادامه مقاله به معرفی این الگوها می پردازیم.
الگوهای پروژه ASP.NET Core در ویژوال استدیو 2019
visualstudio2019 Create a new asp net core web application
  • الگوی Empty
    این الگو یک پروژه خالی رو برای شما ایجاد می کند و شما خودتون باید پیکربندی های پروژتون رو انجام بدید ، این الگو مثل اسکلت یک ساختمان می مونه و شما باید خودتون دیوارکشی و تزییات داخلش را انجام بدید😉
  • الگوی API
    از این الگو برای ایجاد یک وب سرویس استفاده می شود . مثلا شما یک اپ موبایل دارید و میخواهید برای ارتباط این اپلیکشن با دیتابیس یک وب سرویس پیاده سازی کنید.
  • الگوی پروژه Web Application
    این الگوی پروژه شما را برای استفاده از تکنولوژی جدید Razor page ها پیکربندی می کند و شما می توانید با استفاده از این تکنولوژی از شرِ پیچیدگی های معماری mvc خلاص بشید.
  • الگوی پروژه‌ی  Web Application (Model – View – Controller)
    این الگو برای شما یک پروژه جهت استفاده از معماری mvc پیکربندی می کند یعنی پروژه شما شامل پوشه‌ی Views ، Controllers و Models هست.
  • الگوی React.js
    قبل از اینکه بریم سراغ توضیح این الگو ، بهتر هست که با React که به تازگی خیلی سروصدا به پا کرده ، آشنا بشیم ری اکت یک کتابخانه جاوااسکریپت هست که برای ساخت رابط کاربری (UI) ازش استفاده می شود ، حالا اگر بخواید توی پروژتون برای بخش UI از React و برای کدنویسی سمت سرور از ASP.NET Core استفاده کنید این الگو برای شما مناسبه.
  • الگوی Angular
    انگولار هم یک فریمورک جاوااسکریپت هست که برای ساخت اپلیکشن ها تک صفحه ای یا اصلاحا single page ازش استفاده میشه حالا اگر قصد دارید که یک اپلیکشن SPA یا تک صفحه ای داشته باشید Angular فرشته نجات شما خواهد بود.
  • الگوی React.js And Redux
    خب با React که آشنا شدیم حالا توی این الگو سروکله‌ی Redux هم پیدا شده و به React پیوسته تا در کنار ASP.NET Core کولاک کنند 😂.

    Redux هم یک کتابخانه متن باز و رایگان جاوااسکریپت هست که به منظور مدیریت state ها یا حالت ها در کنار React برای توسعه سمت کاربر استفاده می‌شود.

توصیه من این هست که در شروع کار و برداشتن اولین قدم از الگوی آماده Web Application (Model – View – Controller)  برای ساخت پروژه تون استفاده کنید.
حالا با کلیک بر روی دکمه Change می تونید Individual User Accounts رو انتخاب کنید اگر می خواهید که لاگین ، رجیستر و سایر بخش های مربوط به مدیریت کاربران مثل فراموشی کلمه عبور و … هم به پروژتون اضافه شود.
افزودن مدیریت کاربران به پروژه ASP.NET Core
individual user account
حالا روی Create کلیک کنید تا پروژه براتون ایجاد شود.
پس از ایجاد پروژه و باز شدن محیط آن در ویژوال استدیو ، فایل ها و پوشه های مختلفی را در Solution Explorer خواهید دید همانند تصویر زیر :
Solution Explorer پروژه ASP.NET Core
visualstudio2019 asp.net core 3.1 project

حالا برای اجرای پروژه کافی است که روی IIS Express کلیک کنید یا از کلیدهای میانبر Ctrl + F5 استفاده کنید. بعد از اجرا پروژه در صفحه مرورگر تصویر زیر را خواهید دید ، خب تبریک میگم شما اولین قدم را با موفقیت برداشتید 😊

اجرای پروژه ASP.NET CORE 3.1 در ویژوال 2019
visualstudio2019 show project asp.net core 3.1

ساخت نخستین پروژه ASP.NET Core 2.0

ابتدا نرم افزار ویژوال استدیو2017 را اجرا کنید پس از اجرای نرم افزار با صفحه ای همانند تصویر زیر مواجه خواهید شد. لازم به ذکر است که من از ویژوال 2017 نسخه 15.5.4 استفاده میکنم در صورتی که شما از ویژوال 2015 یا نسخه های پایین تر ویژوال 2017  استفاده می‌کنید ممکن است ساختار نرم افزار شما با تصاویر گرفته شده از مراحل ایجاد پروژه‌ی ASP.NET Core2 اندکی متفاوت باشد.

ساخت پروژه ASP.NET Core در ویژوال استودیو 2017
Visualstudio 2017 Start Page

حالا از منو بالا ، گزینه File سپس New و پس از آن  Project  را انتخاب کنید تا پنجره New Project برای شما گشوده شود. هم چنین شما می‌توانید برای ایجاد یک پروژه جدید بر روی گزینه Create New Project در قسمت پایین صفحه Start Page کلیک کنید.

ایجاد نخستین پروژه ASP.NET Core 2.0
Visual Studio 2017 Create a new project

در پنجره New Project از پنل سمت چپ ابتدا Installed و پس از آن #Visual C را انتخاب نمایید سپس از بخش NET Core. ، نوع پروژه خود را ASP.NET Core Web Application  را انتخاب کرده و سپس در بخش پایین پنجره New Project در قسمت Name یک نام برای پروژه خود انتخاب کنید و از قسمت Location مسیر پیش فرضی که می‌خواهید پروژه‌های شما در آنجا ذخیره شوند را مشخص نمایید سپس بر روی گزینه‌ی Ok کلیک کنید.

ایجاد پروژه در ویژوال استدیو 2017
Visual Studio 2017 ASP.NET Core Web Application

در مرحله بعد با پنجره ای همانند تصویر زیر مواجه خواهید شد . در ایجاد پروژه ای از نوع ASP.NET Core با چهار انتخاب روبه رو هستید ، الگوی Empty ، الگوی Web API ، الگوی Web Application و الگوی  Web Application (Model – View – Controller) ، که در ادامه مقاله به معرفی این الگوها خواهیم پرداخت .

 

الگوهای پروژه ASP.NET Core در Visual Studio 2017
Visual Studio 2017 New ASP.NET Core Web Application
  • الگوی Empty (خالی)
    ایم الگو تنها دارای ارجاعات لازم برای ASP.NET Core است ولی کتابخانه ها و پیکربندی لازم برای ایجاد پروژه‌های MVC را ندارد . الگوی پروژه‌ی MVC Core شامل ASP.NET Core و MVC به همراه پروژه‌ی ساده ای برای نمایش روش دریافت و پردازش درخواست‌های Ajax از سوی مشتری است.

 

  • الگوی Web API 
    Web API الگویی جدید برای پروژه‌های مبتنی بر وب در NET. است که بر مبنای اصول و الگوهای موجود در ASP.NET MVC ساخته شده و توسعه گران وب را قادر می‌سازد تا با استفاده از یک الگوی ساده که در کنترلرها (Controllers) پیاده سازی می‌شود، وب سرویس‌های مبتنی بر پروتکل HTTP را با کدها و تنظیمات کم ایجاد کنند. این الگوی جدید برای ایجاد وب سرویس‌ها، می‌تواند در انواع پروژه‌های NET. مانند ASP.NET MVC، ASP.NET Web Forms، Windows Application و … استفاده شود.

 

  • الگوی پروژه Web Application
    این الگو دارای عناصر مورد نیاز برای ASP.NET به همراه برنامه ی نمونه‌ای برای نمایش روش ایجاد محتوای HTML است.

 

  • الگوی پروژه‌ی  Web Application (Model – View – Controller)
    این الگو دارای عناصر مورد نیاز برای ASP.NET وMVC به همراه برنامه ی نمونه‌ای برای نمایش روش ایجاد محتوای HTML است. چهار الگوی معرفی شده می‌توانند جهت اعتبارسنجی کاربران در هنگام ورود به سایت و تعیین سطح دسترسی آنها ، پیکربندی شوند.

وجود الگوهای پیشنهاد شده ممکن است این تصور را پیش آورند که برای ایجاد نوع ویژه ای از برنامه های ASP.NET مجبور به حرکت در مسیر از پیش تعریف شده‌ای هستید. درحالی که این گونه نیست. الگوها تنها نقاط شروع مختلف برای رسیدن به کارآیی یکسانی هستند و پس از ایجاد پروژه ، بدون در نظر گرفتن این که کدام را انتخاب کرده باشید ، هر ویژگی و کارآیی مورد نیاز را می‌توانید به آنها بیافزایید.
بنابراین تفاوت بین الگوهای پیشنهادی در مجموعه ی کتابخانه ها ، فایلهای پیکربندی ، کد و محتوا است که ویژوال استدیو به پروژه اضافه می‌کند.‌به همین دلیل از نظر محتوای آغازین ، تفاوت زیادی بین ساده ترین نوع آنها ، الگوی خالی و پیچیده ترین آنها ، الگوی  Web Application (Model – View – Controller) وجود دارد.
برخی از فایل های اضافه شده به الگوی Web Application (Model – View – Controller) ممکن است ترسناک به نظر برسند در حالی که بیشتر آنها پیاده سازی ویژگی های معمولی ASP.NET هستند.(مانند فرم لاگین).
برخی دیگر‌، تنظیم های MVC و یا پیکربندی ASP.NET هستند. برخی دیگر ، کتابخانه های کد سمت مشتری هستند که در صفحه های HTML کاربرد دارند.

توصیه بنده این است که در شروع کار و پیش از این که سبک شخصی خود را پیدا کنید از الگوی آماده Web Application (Model – View – Controller)  برای ایجاد پروژه های خود استفاده نمایید. حالا با کلیک بر روی دکمه Change Authentication و اطمینان از اینکه گزینه No Authentication انتخاب شده است پروژه را ایجاد نمایید . در این پروژه نیازی به هیچ نوع خاصی اعتبارسنجی نخواهیم داشت.

افزودن مدیریت کاربران به پروژه ASP.NET Core 2.0
Visual Studio 2017 Individual User Accounts

 

سپس با کلیک بر روی Ok پروژه را ایجاد کنید. پس از ایجاد پروژه و باز شدن محیط آن در ویژوال استدیو ، فایل ها و پوشه های مختلفی را در Solution Explorer خواهید دید همانند تصویر زیر :

Solution Explorer ویژوال استدیو 2017
Visual Studio 2019 Solution Explorer

برای اجرای پروژه (یا محتوای پیش فرضی که ویژوال استدیو در آن ایجاد کرده است) ، از فهرست debug گزینه Start debugging را انتخاب کنید (اگر پیامی در مورد فعال بودن دیباگ برنامه نمایان شد بر روی Ok کلیک نمایید ). با انجام این کار ، ویژوال استدیو پس از کامپایل پروژه ، برنامه به نام IIS Express را برای اجرای آن به کار می‌برد. پس از این کار با باز کردن یکی از مرورگرهای اینترنت نصب شده بر روی کامپیوتر ، تقاضایی برای نمایش محتوای برنامه به IIS Express ارسال می‌کند و صفحه ای همانند تصویر نمایش داده می‌شود :

اجرای پروژه ASP.NET Core 2.0
Run Project

 

در ادامه‌ی دوره آموزش ASP.NET Core ، برای ایجاد برنامه مورد نظرمان ، محتوای پیش فرض ویژوال استدیو برای پروژه را ، به آرامی با کدی مناسب ، جایگزین خواهیم کرد . هم اینک برای پایان دادن به اجرای پروژه ، یا پنجره مرورگر را ببندید و یا در محیط ویژوال ، از منوی بالا بر روی گزینه Debug کلیک کرده و سپس Stop Debugging را انتخاب کنید.

سخن پایانی

بسیار خب ، اولین قدم رو برداشتیم حالا دیگه کمربندها رو ببندید و آماده بشید برای برداشتن قدم های بعدی با مطالعه‌ی مقالات بعدی ، فقط قبل از شروع آموزش ASP.NET Core و اگه قبلا ASP.NET MVC کار میکردید پیشنهاد میکنم مقاله‌ی  فرق ASP.NET Core و  ASP.NET MVC  رو بخونی تا با ویژگی های بسیار فوق العاده ای که در ASP.NET Core اضافه شده آشنا بشی و مصمم بشی برای مهاجرت به ASP.NET Core
اگه سوالی در مورد این مقاله و سایر مقالات اموزش ASP.NET داشتی حتما سوالت رو در قسمت نظرات مطرح کن سعی میکنم که خیلی زود پاسخگو باشم 🙂

برچسب ها

آرزو ابراهیمی

بیش از 6 سال است که زمینه طراحی و توسعه سایت فعالیت می‌کنم، طراح و برنامه نویس انواع سامانه‌های تخصصی پزشکی، مناقصات، فروشگاهی و ... بودم و هستم و هدفم در سایت میزفا ارائه اطلاعات بروز و ناب در زمینه طراحی سایت است. تا از این طریق بتونم تجربیات و دانسته های خودم را با تمامی علاقمندان به مباحث طراحی سایت به اشتراک بزارم .

نوشته های مشابه

‫28 نظر داریم، تو هم نظر بذار، پاسخ کامل میدیم :)

  1. سلام من اگر بخوام ورژن ویژوال استدیو بالاببرم باید چکار کنم نسخه ی 3.1 نصب کردم نمیدونم چجوری ازش استفاده کنم

    1. سلام
      شما می تونید از طریق منوی ویژوال استودیو با کلیک روی Help و بعد انتخاب Check for updates ویژوال استدیو خودتون رو به جدیدترین نسخه آپدیت کنید.

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

    1
    1. سلام وقتتون یخیر
      شما بعد از یادگیری HTML و CSS به راحتی می تونید این سورس رو ویرایش کنید.

  3. سلام.من در ویژوال استودیو ۲۰۱۹ که قسمت htmlمیاد وقتی کد هارو مینویسم و بعد میزنمF5صفحه ی welcomeمیاد!خب مگ نباید کد هایی که نوشتیم ظاهرشو در این قسمت ببینیم قبلا که من ویژوال رو آپدیت نکرده بودم میاورد،ممنون میشم راهنمایی کنید.

    1. سلام وقتتون بخیر
      موقع اجرای پروژه اکشن متد Index که در کنترلر Home هست اجرا میشه و متحویات این ویو نمایش داده میشود.
      شاید شما کدهای خودتان رو در ویوی مربوط به اکشن متد دیگری نوشته اید.

  4. سلام
    من ويژوال استوديو 2019 رو نصب كردم، اما وقتي new project رو مي زنم template ها نمايش داده نمي شوند.

  5. سلام سال نو مبارک، من میخوام ی پروژه رو که 4 تا فایل جدا داره و برای من فرستاده شده به طور کامل تو ویژوال استودیو باز کنم، منتهانمیدونم باید چیکار کنم، میتونم از شما خواهش کنم کمکم کنید

    1. سلام ممنونم سال نو شما هم مبارک
      توی پروژتون دنبال یک فایل با پسوند sln بگردید و اجراش کنید.

  6. سلام
    وقتی که پروژه رو پابلیش کردم روی IIS با این خطا مواجه شدم
    پروژه فقط یک صفحه است که دیتا توش وارد میشه، همه رو هم با کدهای آماده core ساختم
    آیا میدونید دلیلش چیه؟

    Error.

    An error occurred while processing your request.

    Request ID: 0HLMSS42SQHI8:00000001
    Development Mode

    Swapping to Development environment will display more detailed information about the error that occurred.
    Development environment should not be enabled in deployed applications, as it can result in sensitive information from exceptions being displayed to end users. For local debugging, development environment can be enabled by setting the ASPNETCORE_ENVIRONMENT environment variable to Development, and restarting the application.

    1
    1. سلام وقت بخیر
      پیشنهاد میکنم کد زیر که داخل فایل Starup.cs هست رو با کد appBuilder.UseDeveloperExceptionPage(); جایگزین کنید تا راجب جزییات خطا اطلاعات به دست بیارید و بتونید خطا رو رفع کنید.

       if (env.IsDevelopment())
                      {
                          appBuilder.UseDeveloperExceptionPage();
                      }
                      else
                      {
                          appBuilder.UseExceptionHandler("/Home/Error");
                          app.UseHsts();
                      }
      
  7. سلام خسته نباشید
    ببخشید برای ایجاد یک پروژه Asp.Net Core توی ویژوال.. وقتی که نیو پروجکت میزنیم، هم در قسمت Web و هم در قسمت .Net Core ،
    Asp.Net Core Web Application هست. میشه بگین کدومش رو باید انتخاب کنیم و در واقع فرقشون چیه؟؟؟؟؟؟؟؟؟؟؟

    1. سلام ممنون … فرقی ندارند هرکدوم رو که انتخاب کنید یک پروژه ASP.NET Core براتون ایجاد میکنه.

      1. سلام. ببخشید من یه پروژه جدید از نوع core درست کردم ولی فضای نام using system.data.sqlclientb نداره
        پکیج هم نصب هست تو پروژه mvc خالی میاد ولی توی این نمیاد نمیدونم چرا؟

        1. شاید این پکیج با ASP.NET Core سازگار نیست و نمیشه توی پروژه Core این پیکیج رو نصب کرد.

  8. سلام من از نسخه 2015 استفاده میکنم و .NET Coreرا ندارم میشه راهنمایی کنید چکار کنم؟نسخه ی net core 2.1.3 را هم نصب کردم اما فایده ای نداشت

    1. با سلام … ممنون … برای نصب NET Core . حتما باید ویژوال 2015 آپدیت 3 را نصب داشته باشید … من خودم با نصب Core روی ویژوال 2015 خیلی به مشکل برخوردم بنابراین پیشنهاد می کنم که حتما ویژوال 2017 رو نصب کنید.

  9. سلام من همین الان .net core 2.1.3
    رو دانلود و نصب کردم و نصب هم با موفقیت تمام شد ولی وقتی توی ویژوال استودیو میرم و میخوام یه پروژه core بسازم
    نسخه coreکه میزنم فقط نسخه 1 داره
    چی کار کنم؟

    1. با سلام …. ویژوال استدیو رو Restart کنید به احتمال زیاد بعد از ری استارت مشکلتون حل میشه … اگر مشکل حل نشد از طریق این لینک میتونید نسخه net core 2.1.3 را دانلود و مجددا نصب کنید من خودم امتحان کردم و بعد از نصب نسخه core 2 به ویژوالم اضافه شد.
      موفق باشید.

  10. سلام
    خانم ابراهیمی ، آموزش تون عالی هست
    امیدوارم این آموزش ها تا سطح بالا ادامه داشته باشه
    موفق باشید

    1. با سلام ممنون … خوشحالم که تا به اینجا آموزش های دوره برای شما رضایت بخش بوده … موفق باشید.

      1. سلام ممنون از آموزش ببخشید اگر میشه یه مراحل از اتصال به دیتابیس بگذارید اگر ممکنه برام ایمیل کنید ممنون
        Azimi.ir@otmail.com

        1. سلام وقتتون بخیر
          برای اتصال به دیتابیس شما می تونید از روش Code first و یا Database first استفاده کنید
          توی روش Code first دیتابیس با استفاده از کلاس هایی که تعریف می کنید ساخته میشه
          این سایت می تونه به شما برای یادگیری کمک کنه
          https://www.entityframeworktutorial.net/efcore/entity-framework-core.aspx

          در روش database first هم شما یک دیتابیس آماده دارید با مطالعه مقاله آموزش روش Database first می تونید مدل های این دیتابیس رو به پروژتون اضافه کنید

      1. ببخشید خیلی زحمت میدیم تو رو خدا اگر میتونید ایجاد یه پیج cshtml. رو هم آموزش دهید چون من هر کاری کردم نشد بنظرم فقط html خالی داشت.

        1. شما برای ایجاد یک View ، می تونید بعد از تعریف اکشن متد در کلاس کنترلر ، روی نام اکشن متد راست کلیک کرده و گزینه Add View رو انتخاب کنید تا برای اکشن متد مربوطه یک View با پسوند cshtml ایجاد شود.

دیدگاهتان را بنویسید

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *


حداکثر حجم فایل برای آپلود: 1 مگابایت.
فایل‌های مجاز برای آپلود: عکس, ویس, ویدیو, ورد یا پی دی اف, فایل متنی, زیپ.
شما می‌تونید برای بهتر پرسیدن سوالتون، عکس یا ویس یا حتی فیلم در بخش نظرات میزفا آپلود کنید. برای ضبط ویس می‌تونید از خود واتس آپ استفاده کنید و بعد اینجا آپلود کنید و برای ارسال عکس هم کافی هست اسکرین شات بگیرید.

دکمه بازگشت به بالا
سایت خود را در گوگل مدیریت کنید + ۱۵ ساعت فیلم آموزشیجزئیات بیشتر اینجا کلیک کنید
بستن
با موفقیت ثبت شد، میزفا از شما برای عضویت در خبرنامه هفتگی تشکر میکند.

عضویت در خبرنامه هفتگی برای دریافت:

  • فیلم و مقاله رایگان سئو
  • آموزش‌های UX ، GA و GTM
  • مقاله های تخصصی ASP.NET Core
  • اطلاع رسانی از محصولات
ترک میزفا خوب نیست!
دوره سئو، رایگان شد.
فرصتی رایگان برای یادگیری
کاراکتر اشاره گر
دوره سئو، رایگان شد.
فرصتی رایگان برای یادگیری
کاراکتر اشاره گر