۲۱ مطلب با کلمهی کلیدی «آموزش MVC .NET 4» ثبت شده است
ASP.NET vNext
بسم الله الرحمن الرحیم
معرفی ASP.NET vNext
مایکروسافت نسل جدیدی از ASP.NET را در TechEd North America در تاریخ اعلام 12 May 2014 اعلام کرد که این محصول جدید ASP.NET vNext نام دارد. ASP.NET vNext شامل امکانات جدیدی همچون نسخه MVC6 که برای Cloud بهینه سازی شده است و Web API3،Web Pages4, SignalR3 و Entity Framework7 است.
ویژگی های ASP.NET vNext
ASP.NET vNext شامل امکانات جدیدی همچون نسخه MVC6 که برای Cloud بهینه سازی شده است Web API, Web Pages, SignalR و Entity Framework است.
Cache کردن اطلاعات ASP.NET MVC
بسم الله الرحمن الرحیم
در این بخش قصد داریم نحوه افزایش سرعت بارگذاری صفحات در ASP.NET MVC را بررسی کنیم.
افزایش سرعت صفحات در ASP.NET MVC
برای افزایش کارایی برنامه های تحت وب Cache کردن اطلاعات بسیار مهم است. کش کردن اطلاعات یک راه برای ذخیره سازی اطلاعاتی است که مجددا باید مورد دسترسی قرار می گیرند. در عمل این یک راه موثر برای افزایش کارایی وب سایت ها است.
مزایای کش کردن اطلاعات
کاهش میزبانی اطلاعات بر روی سرور
هنگامی که شما اطلاعات را بر روی کلاینت یا پروکسی کش می کنید، عملا سرور شما درخواست های کمتری را باید پاسخ دهد.
کاهش فشار بر روی پایگاه داده
وقتی شما اطلاعات را در وب سرور کش کنید، می توانید درخواست ها را از دیتابیس حذف کنید.
کاهش ترافیک شبکه
هنگامی که شما اطلاعات را بر روی کلاینت کش می کنید، ترافیک شبکه شما کاهش پیدا می کند.
حذف زمان ها برای بازیابی اطلاعات تکراری
زمان هایی که صرف استفاده از اطلاعاتی که چندین بار مورد درخواست قرار خواهند گرفت، حذف می شود
افزایش کارایی
هنگامی که اطلاعات را کش می کنید، زمان کمتری برای بازیابی اطلاعات لازم است، ترافیک شبکه کمتر مصرف می شود، به سرور کمتر برای پاسخگویی نیاز خواهد بود و همه این کارهای باعث می شود تا کارایی سایت شما افزایش پیدا کند.
ساخت Scroll Top
بسم الله الرحمن الرحیم
طبیعتا همه شما دکمه های Top را در کنار صفحات وب سایت ها دیده اید که با کلیک بر روی آن می توانید به بالای سایت باز گردید.
در این آموزش می خواهیم کد این دکمه را در jQuery بنویسیم.
یک صفحه HTML ایجاد کنید و کد jQuery را به صفحه خود اضافه کنید.
jquery-1.8.0.min.js
سپس یک فایل js ایجاد کنید و کد زیر را در آن قرار دهید.
$.fn.scrollView = function () {
return this.each(function () {
$('html, body').animate({
scrollTop: $(this).offset().top
}, 1000);
});
}
با استفاده از این کد ما ظرف مدت زمان یک ثانیه از محلی که بر روی لینک کلیک می کنیم به ابتدای صفحه انتقال پیدا می کنیم.
کد زیر را نیز در همین فایل قرار دهید.
$('#scroll-link').click(function (event) {
event.preventDefault();
$('#header').scrollView();
});
header ای دی element ای است که در ابتدای صفحه قرار می دهیم و می خواهیم پس از کلیک بر روی scroll-link به آن جا انتقال پیدا کنیم
حال این فایل را نیز به صفحه خود اضافه کنید.
در بالای صفحه یک div با id منحصر به فردی ایجاد کنید تا هنگامی که ما بر روی لینک پایین صفحه کلیک می کنیم به این div لینک شود.
<div id="header"></div>
در پایین صفحه یک تگ a به صورت زیر اضافه کنید
<a href="#" id="scroll-link">TOP</a>
در نهایت صفحه خود را با مطلبی پر کنید تا اسکرول آن نمایش داده شود
کد این آموزش را می توانید از این جا دانلود کنید.
پسورد فایل
EduOnline.ir
دانلود jQuery Scroll bar
حجم: 32.7 کیلوبایت
نحوه بدست آوردن تمامی Action و Controller های یک پروژه MVC
بسم الله الرحمن الرحیم
ممکن است شما بخواهید در یک پروژه MVC لیست تمامی کنترلر ها و اکشن های پروژه خود بدست آورید.
در اینجا یک Extension متد نوشته ام که می توانید به سادگی لیست تمامی کنتترلرهای برنامه خود را بدست اورید:
اگر با متدهای توسعه یا همان Extension متد آشنایی ندارید، این مطلب را بخوانید
public static List<string> GetControllerNames(this System.Web.Mvc.Controller controller)
{
try
{
List<string> controllerNames = new List<string>();
GetSubClasses<System.Web.Mvc.Controller>().ForEach(
type => controllerNames.Add(type.Name));
return controllerNames;
}
catch (Exception exception)
{
throw new Exception(exception.Message);
}
}
برای استفاده از این کنترلر کافی است به صورت زیر عمل کتید
List<string> listController = Controller.GetControllerNames();
ممکن است بخواهید لیست اکشن های یک کنترلر را نیز بدست آورید برای این کار نیز یک متد دیگر نوشته ام که اینکار را برای شما انجام می دهد
public static List<string> ActionNames(string controllerName)
{
try
{
var types =
from assemblies in AppDomain.CurrentDomain.GetAssemblies()
from assembliesTypes in assemblies.GetTypes()
where typeof(System.Web.Mvc.IController).IsAssignableFrom(assembliesTypes) &&
string.Equals(controllerName + "Controller", assembliesTypes.Name, StringComparison.OrdinalIgnoreCase)
select assembliesTypes;
var controllerType = types.FirstOrDefault();
if (controllerType == null)
{
return Enumerable.Empty<string>().ToList();
}
return new System.Web.Mvc.ReflectedControllerDescriptor(controllerType)
.GetCanonicalActions().Select(x => x.ActionName)
.ToList();
}
catch (Exception exception)
{
throw new Exception(exception.Message);
}
}
برای استفاده از این متد باید به صورت زیر عمل کنید:
List<string> listAction = ActionNames("AccountController");
انشالله که مفید واقع شود.
بدست آوردن تمامی کلاس های یک namespace
بسم الله الرحمن الرحیم
با استفاده از کد زیر شما می توانید نام تمامی کلاس های موجود در یک namespace را بدست آورید
using System.Reflection;
private Type[] GetTypesInNamespace(Assembly assembly, string nameSpace)
{
return assembly.GetTypes().Where(t => String.Equals(t.Namespace, nameSpace, StringComparison.Ordinal)).ToArray();
}
برای استفاده باید به صورت زیر عمل کنید
Type[] typelist = GetTypesInNamespace(Assembly.GetExecutingAssembly(), "MyNamespace");
for (int i = 0; i < typelist.Length; i++)
{
Console.WriteLine(typelist[i].Name);
}
آموزش serialize کردن اشیا
بسم الله الرحمن الرحیم
ممکن است شما بخواهید یک شی از کلاس را در یک XML فایل ذخیره کنید، برای این کار می بایست شی خود را serialize کنید.
در این آموزش نحوه serialize را بررسی خواهیم کرد.
یک پروژه جدید از نوع windows Application ایجاد کنید.
یک کلاس با نام MyClass به پروژه اضافه کنید و کد آن را به صورت زیر تغییر دهید:
public class MyClassادامه مطلب...
{
// old school property
private int _Age;
public int Age
{
get { return _Age; }
set { _Age = value; }
}
// new school property
public bool Citizen { get; set; }
// there's nothing wrong with using fields
public string Name;
}
افزایش سرعت Insert کردن رکورد ها در MVC
بسم الله الرحمن الرحیم
در این آموزش می خواهیم با روش جدید Insert کردن رکوردهایی با تعداد بالا به وسیله MVC آشنا کنیم و همچنین نحوه افزایش سرعت Insert کردن را فرا بگیریم.
EntityFramework.BulkInsert
یک extension برای Entity framework 4 به بالا است که سرعت Insert کردن شما در insert های عظیم تا 20 برابر افزایش می دهد.
این extension از روش Code First و Database First پشتیبانی می کند.
اضافه کردن متد به LINQ
بسم الله الرحمن الرحیم
می خواهیم به تمامی لیست هایی که از نوع double ایجاد می شوند یک متد برای پیدا کردن عنصر میانی آنها بنویسیم
public static class LINQExtension
{
public static double Median(this IEnumerable<double> source)
{
if (source.Count() == 0)
{
throw new InvalidOperationException("Cannot compute median for an empty set.");
}
var sortedList = from number in source
orderby number
select number;
int itemIndex = (int)sortedList.Count() / 2;
if (sortedList.Count() % 2 == 0)
{
// Even number of items.
return (sortedList.ElementAt(itemIndex) + sortedList.ElementAt(itemIndex - 1)) / 2;
}
else
{
// Odd number of items.
return sortedList.ElementAt(itemIndex);
}
}
}
ادامه مطلب...
Linq extension method
بسم الله الرحمن الرحیم
می خواهیم یک Extesion Method مانند متدهای Linq برای Model ایی خاص بنویسیم.
دو نکته را برای نوشتم متدهای توسعه (Extension Method) باید رعایت کنید:
1- متد را باید در کلاسی بنویسید که از نوع static باشد
2- namespace شما باید با namespace کلاسی که می خواهید برای آن Extension Method بنویسید یکسان باشد
ما می خواهیم وقتی از شی DbContext مدل Active را انتخاب می کنیم مانند متد ()FirstOrDefault لینک (LINQ) یک متد برای اجرای یک دستور خاص نمایش داده شود:
public static class Extensions
{
public IQueryable<T> Active<T>(this IQueryable<T> source)
where T : YourEntityType
{
return source.Where(a => ((a.publishEnd > DateTime.Now) || (a.publishEnd == null))
&& ((a.publishStart <= DateTime.Now) || (a.publishStart == null))
&& a.active == true);
}
}
برای فراخوانی متد به صورت زیر می توانیم عمل کنیم:
var item = db.myTable.Active().SingleOrDefault(...);
آموزش ساخت Connection String
بسم الله الرحمن الرحیم
یک راه ساده برای ایجاد و تست Connection String امروز فرا خواهید گرفت.
برای شروع کافی است در دسکتاپ خود کلیک راست کنید و گزینه new را انتخاب و سپس یک فایل Text Document ایجاد کنید حال پسوند فایل ایجاد شده را به UDL تغییر دهید (یادتان باشد باید پسوند فایلها را ابتدا از طریق Control Panel -> Folder Options -> View گزینه Hide extensions for known file type را غیر فعال کنید ). حال بر روی فایل دابل کلیک کنید تا باز شود و به ترتیب می توانید مشخصات نام سرور خود، نام کاربری و کلمه عبور سرور خود و در نهایت انتخاب پایگاه داده خود را انجام دهید.
در نهایت پس از تکمیل اطلاعات بر روی گزینه Test Connection کلیک کنید تا مطمن شوید یک کانکشن صحیح ایجاد شده است.
برای استفاده از Connection String تولید شده می توانید بر روی فایل کلیک راست کنید و آن را دریک برنامه مثل Notepad باز کنید و از اطلاعات آن استفاده کنید.
خطا Validation failed for one or more entities
بسم الله الرحمن الرحیم
طبیعتا تاکنون در حین اجرای پروژه با خطای زیر برخورد کردید:
Validation failed for one or more entities. See 'EntityValidationErrors' property for more details. Description:
An unhandled exception occurred during the execution of the current web request.
Please review the stack trace for more information about the error and where it originated in the code.
Exception Details: System.Data.Entity.Validation.DbEntityValidationException:
Validation failed for one or more entities. See 'EntityValidationErrors' property for more details.
هر یک از شما دوستان ممکن است راه حل های زیادی برای حل این مشکل داشته باشید.
در اینجا خطایی به دلیل خالی بودن و تکمیل نشده اطلاعات رخ می دهد در صورتی که ممکن است این فیلدها بر روی فرم اصلا وجود نداشته اند مثلا شما یک ویو مدل از مدل ساخته اید و تنها بخشی از اطلاعات مدل را می خواهید برروز کنید.
خطا Cannot insert the value NULL into column
بسم الله الرحمن الرحیم
خطای زیر را مشاهده کنید:
Cannot insert the value NULL into column 'FirstLastName', table 'RequestSessions'; column does not allow nulls. INSERT fails.The statement has been terminated.
در مدلی که دارید کار می کنید فیلدی وجود دارد که در دیتابیس نمی تواند null باشد برای رفع این مشکل باید در اکشن خود مدل را مقدار دهی کنید
مثلا
Account.FirstLastName=”Esmaeil”;
آموزش Code First Data Annotations - بخش چهارم
بسم الله الرحمن الرحیم
برای مشاهده سایر بخش های دوره آموزش Code First Data Annotations از طریق لینکهای زیر اقدام نمایید.
بخش چهارم
Index
ایندکس گزاری بر روی جداول
خاصیت Index در EF6.1 معرفی شده است و فقط توسط این نسخه از Entity Framework می توانید این کار را انجام دهید. اگر از نسخه های قدیمی Entity Framework استفاده می کنید نمی توانید این کار را انجام دهبد.
شما می توانید بر روی یک یا چند ستون از جدول خود با استفاده از IndexAttribute ایندکس گذاری کنید.
اضافه کردن این خاصیت به یک یا چند پراپرتی باعث می شود EF در زمان ایجاد دیتابیس یا اگر شما از Code First Migrations استفاده کنید scaffold ایندکس های مربوطه را ایجاد کند.
مثال، در زیر index بر روی ستون های Rating و Posts ایجاد شده است.
public class Postادامه مطلب...
{
public int Id { get; set; }
public string Title { get; set; }
public string Content { get; set; }
[Index]
public int Rating { get; set; }
public int BlogId { get; set; }
}
T4MVC
بسم الله الرحمن الرحیم
معرفی T4MVC
T4MVC می تواند بر روی نسخه های Visual Studio 2010, 2012 و 2013نصب شود وASP.NET MVC 4.0 و 5.0این Package را پشتیبانی می کنند، شاید بتوانید بر روی سایر نسخه ها از این Package استفاده کنید اما این Package فقط بر روی گزینه های گفته شده تست شده است.
نصب T4MVC
برای نصب این Package کافی است که دستور زیر را از طریق Package Manager Console اجرا کنید
Install-Package T4MVC
پس از اجرای این دستور دو فایل به پروژه شما اضافه می شود.
هدف T4MVC
این Package برای جلوگیری از نوشتن اسامی کنترلر ها و اکشن ها و در نهایت view ها به صورت Hard Code مورد استفاده قرار می گیرد.
برای مثال کدزیر را در نظر بگیرید:
<% Html.RenderPartial("DinnerForm"); %>
ما از عبارت های رشته ای برای فراخوانی این Partial استفاده کرده ایم، اگر فردا شما بخواهید این نام را تغییر دهید باید در بهترین و سریعترین روش ممکن با استفاده از Finde ویژوال استادیو تمامی نام های مربوطه را تغییر دهید.
اما چرا از ابتدا از روش دیگری استفاده نکنیم!
T4MVC در واقع نام تمامی View,Conreoller,Action ها را به صورت خودکار در خود ذخیره می کند و عملا یک Enumeration برای شما به وجود می آورد تا در آینده در صورتی که نامی را برای یک View,Conreoller,Action عوض کردید، این نام در تمامی پروژه عوض شود.
مثال:
<% Html.RenderPartial("DinnerForm"); %>
از این به بعد ما نام ها را به صورت زیر خواهیم نوشت:
<% Html.RenderPartial(MVC.Dinners.Views.DinnerForm); %>ادامه مطلب...
fluent API در Code First
بسم الله الرحمن الرحیم
fluent API
در MVC برای ایجاد روابط بین جداول می توانید از fluent API استفاده کنید، این روش برای کد نویسی و طراحی دیتابیس به روش Code First می باشد:
One-to–Zero-or-One (روابط یک به یک)
modelBuilder.Entity<OfficeAssignment>()
.HasKey(t => t.InstructorID);
به رابطه بالا One-to–Zero گفته می شود زیرا شما فقط کلید اصلی جدول را مشخص کرده اید آن را به هیچ جدول دیگری ارتباط نداده اید.
modelBuilder.Entity<OfficeAssignment>()
.HasRequired(t => t.Instructor)
.WithOptional(t => t.OfficeAssignment);
در این رابطه ما یک رابطه One-to-One ایجاد کرده ایم. در این رابطه سمت OfficeAssignment اختیاری است.
برای اجباری کردن هر دو سمت در یک رابطه یک به یک می توانید به صورت زیر عمل کنید:
modelBuilder.Entity<OfficeAssignment>()ادامه مطلب...
.HasKey(t => t.InstructorID);
modelBuilder.Entity<Instructor>()
.HasRequired(t => t.OfficeAssignment)
.WithRequiredPrincipal(t => t.Instructor);
Entity Farmework و Code First
بسم الله الرحمن الرحیم
برای طراحی پایگاه داده به وسیله Entity Farmework و Code First بهتر است این چند نکته را رعایت فرمایید:
بهتر است از نام Id به عنوان نام تمامی کلید های اصلی جداول استفاده کنید هر چند در بحث
convention over configuration این نکته مورد قبول است اما چیزی را که همه آن را به عنوان یک قرارداد نانوشته قبول دارند را عوض نکنید تا برای انجام کار توضیحاتی لازم نباشد.
بهتر است از نوع GUID برای کلید های اصلی جداول استفاده کنید. نوع int از لحاظ واکشی اطلاعات سریعتر است زیرا مقایسه عددی سریعتر از مقایسه رشته ای است.
باید در نظر داشته باشید در جداولی مثل شهر، استان، کشور می توانید از نوع int برای کلید اصلی استفاده کنید و هیچ مشکلی نخواهد بود اما بهتر است برای جداول اطلاعاتی که شماره ها بسیار ارزشمند هستند و بهتر است در کل دیتابیس عدد منحصر به فرد باشد از نوع GUID استفاده شود.
بهتر است نام کلیدهای خارجی یک نام از جدول + کلمه ای دی باشد:
مثلا: ProductId
برای تعیین نامی مشخص برای ذخیره property ها در دیتابیس می توانید به صورت زیر عمل کنید:
[Column(“ProductId", TypeName="Guid")]
با توجه به اینکه در MVC به صورت پیش فرض اگر Maxlength برای یک Property String تعیین نشود nvarchar(MAX) در دیتابیس در نظر گرفته می شود، لذا برای تمامی Property مقدار Maxlength را تعریف کنید مگر در شرایطی که نیاز به رشته های طولانی دارید.
با توجه به نحوه ذخیره سازی رشته ها در SQL Server ، اگر یک رشته می تواند در نوع nvarchar(300) ذخیره شود از این نوع استفاده کنید.
با توجه به اینکه در Entity Framework 6 از روی نوع enum فیلد مناسب در دیتابیس ساخته می شود اما بهتر است فیلدهای از نوع enum به صورت int تعریف شوند و شما خودتان نوع بازیابی شده از دیتابیس را به enum تبدیل کنید.
مثلا
Public int CustomerType {get; set;};
در نام گذاری property ها این نکته را در نظر داشته باشید که نباید از کلمات کلیدی (SQL Server,Oracle,…) استفاده کنید
مثلا: [Order]
برطرف کردن مشکل LINQ to Entities does not recognize
بسم الله الرحمن الرحیم
Server Error in '/' Application.
LINQ to Entities does not recognize the method 'EduOnline' method, and this method cannot be translated into a store expression.
Description: An unhandled exception occurred during the execution of the current web request. Please review the stack trace for more information about the error and where it originated in the code.
این خطا زمانی رخ می دهد که شما می خواهید یک دستور مشابه دستور زیر اجرا کنید:
db.Accounts.Where(m => m.AccountType == Enum.AccountTypes.Admin
برای حل این مشکل کافی است که کد خود را به صورت یک عبارت مشخص قابل بررسی توسط LINQ تبدیل کنید، مثلا در اینجا می توانید به صورت زیر و خیلی ساده کد خود را بنویسید و مشکل خود را حل نمایید:
db.Accounts.Where(m => m.AccountType == (int)Enum.AccountTypes.Admin)
در اینجا شما با تبدیل عبارت خود به یک به عبارت قابل مقایسه برای LINQ این مشکل را حل کرده اید
CodeSnippets
بسم الله الرحمن الرحیم
برای نوشتن سریعتر دستورات سی شارپ می توانید از Snippets Code استفاده کنید برای استفاده از این ویژگی کافی است کلید CTRL را به همراه K فشار دهید و سپس کلید S را نیز بزنید حال لیست دستوراتی را مشاهده می کنید که می توانید آن ها را انتخاب کنید در زیر این لیست قرار داده شده است.
برای نوشتن تمامی دستورات زیر کافی است متن نوشته شده را بنویسید و سپس دو بار کلید TAB را از روی کیبورد فشار دهید
نام دستور |
توضیحات |
if# |
|
region# |
Creates a #region directive and a #endregion directive. |
~ |
Creates a destructor for the containing class. |
attribute |
Creates a declaration for a class that derives from Attribute. |
checked |
Creates a checked block. |
class |
Creates a class declaration. |
ctor |
Creates a constructor for the containing class. |
cw |
Creates a call to WriteLine. |
do |
Creates a do while loop. |
else |
Creates an else block. |
enum |
Creates an enum declaration. |
equals |
Creates a method declaration that overrides the Equals method defined in the Object class. |
exception |
Creates a declaration for a class that derives from an exception (Exception by default). |
for |
Creates a for loop. |
foreach |
Creates a foreach loop. |
forr |
Creates a for loop that decrements the loop variable after each iteration. |
if |
Creates an if block. |
indexer |
Creates an indexer declaration. |
interface |
Creates an interface declaration. |
invoke |
Creates a block that safely invokes an event. |
iterator |
Creates an iterator. |
iterindex |
Creates a "named" iterator and indexer pair by using a nested class. |
lock |
Creates a lock block. |
mbox |
Creates a call to MessageBox.Show. You may have to add a reference to System.Windows.Forms.dll. |
namespace |
Creates a namespace declaration. |
prop |
Creates an auto-implemented property declaration. |
propfull |
Creates a property declaration with get and set accessors. |
propg |
Creates a read-only auto-implemented property with a private "set" accessor. |
sim |
|
struct |
Creates a struct declaration. |
svm |
|
switch |
Creates a switch block. |
try |
Creates a try-catch block. |
tryf |
Creates a try-finally block. |
unchecked |
Creates an unchecked block. |
unsafe |
Creates an unsafe block. |
using |
Creates a using directive. |
while |
Creates a while loop. |
اضافه کردن فیلد nullable در دیتابیس با EF
بسم الله الرحمن الرحیم
اگر بخواهید پراپرتی زیر را به صورت nullable در پایگاه داده ذخیره کنید
[Required]
public int somefield {get; set;}
می بابیست کد خود را به صورت زیر تغییر دهید
[Required]
public int? somefield {get; set;}
علامت "؟" بعدر از نوع متغییر باعث می شود که این متغییر مقدار null را نیز بپذیرد.
همچنین با استفاده از روش Fluid API می توانید اینکار را انجام دهید:
protected override void OnModelCreating(DbModelBuilder modelBuilder)
{
modelBuilder.Entity<SomeObject>().Property(m => m.somefield).IsOptional();
base.OnModelCreating(modelBuilder);
}
آموزش برنامه نویسی سریع
ّبسم الله الرحمن الرحیم
بسیاری از کارهایی که ما در پروژه ها انجام می دهیم تکراری است از نوشتن یک کد ساده تا نوشتن یک کلاس و حتی خود یک پروژه!!
برای افزایش سرعت برنامه نویسی و تولید نرم افزار باید شما مجموعه ای از ابزار های مفید را برای خود ایجاد نمایید.
در این آموزش شما را با یک روش ساده برای افزایش نوشتن توابع و متدهای تکراری آشنا خواهم کرد
همه شما حداقل یک بار اینگونه توابع را نوشته اید
public void MyMethod()
{
try
{
}
catch (Exception exception)
{
throw new Exception(exception.Message);
}
finally
{
}
}
مثل همیشه مختصر و مفید، می خواهیم کاری انجام دهیم تا دیگر هیچ وقت اینگونه توابع را ننویسیم.
در ابتدا برای آموزش، فکر کنید میخواهید یک حلقه for بنویسید برای این کار، من راه بهتری سراغ دارم.
ابتدا کلمه for را بنویسید و سپس دو بار کامند TAB را بر روی کیبورد خود فشار دهید (یک حلقه for کامل نوشته شد).
فکر کنید می خواهید کد زیر را بنویسید:
public string StartSection { get; set; }
کلمه prop را بنویسید و سپس دوبار کامند TAB را بر روی کیبورد فشار دهید!!!
به این ابزار Code Snippet گفته می شود که از نوشتن کدهای تکراری جلوگیری می کند.
خوب حال به مسیر زیر بروید
C:\Users\{UserName}\Documents\Visual Studio 2013\Code Snippets\Visual C#
من از ویژوال استادیو 2013 استفاده می کنم پس در آدرس بالا Visual Studio 2013 نوشته شده است شاید نسخه شما متفاوت باشد (دنبال نسخه خود باشید).
بجای {UserName} باید دنبال پوشه ای که مربوط به نام کامپیوتر شما است باشید. مثلا
C:\Users\EduOnlien User\Documents\Visual Studio 2013\Code Snippets\Visual C#
اگر مسیر را پیدا نکردید، در هر مسیری که دوست دارید پوشه زیر را extract کنید.
دریافت کد نویسی به روش EduOnline
حجم: 2.52 کیلوبایت
EduOnline SniptCode
حال در ویژوال استادیو خود، منو Tools را از نوار منو بالا انتخاب کنید و سپس منو Code Sinppets Manager را انتخاب کنید در پنجره باز شده از قسمت
Language گزینه Visual C# l را انتخاب کنید و سپس گزینه Add را بزنید و به درون فولدری (حتما باید درون فولدر EduOnline SniptCode قرار گرفته باشید) که دانلود کرده اید بروید و سپس گزینه Select Folder را بزنید، سپس Ok را انتخاب کنید تا پنجره بسته شود.
حال در بخش کد نویسی خود عبارت
pum را بنویسید و سپس دوبار کلید Tab را بر روی کیبورد خود فشار دهید، سه گزینه به شما نمایش داده می شود که می توانید هر یک را انتخاب کنید.
برای کد نویسی در MVC نیز می توانید کلمه act را بنویسید و سپس دوبار کلید Tab را بر روی کیبورد خود فشار دهید.