۱۰ مطلب با کلمهی کلیدی «مزیتهای MVC» ثبت شده است
نکته ای در ارتباط با EntityFramework 6 و MVC
بسم الله الرحمن الرحیم
نکته ای در ارتباط با EntityFramework 6
و MVC
نسخه 6 EntityFramework
نمی توانید از Scaffolding پشتیبانی کند البته این مربوط به این زمان است ممکن است این مشکل بر طرف شود پس بهتر است به جای
Install-Package EntityFramework -Version 6.1.0
یا نسخه های بالاتر از نسخه 5 استفاده کنید این نسخه آخرین نسخه ای است که ازScaffolding پشتیبانی می کند
Install-Package EntityFramework -Version 5.0.0
آموزش GoogleMap
بسم الله الرحمن الرحیم
آموزش GoogleMap
در بسیاری از وب سایت های امروزی برای مشخص کردن آدرس یک مکان از سرویس هایی شبیه به گوگل استفاده می شود که طبیعتا پر کاربردترین آن البته نه بر اساس کارایی بلکه بر اساس برند گوگل است. البته واقعا برنامه نویسی و سرویس های مرتبط با ان در گوکل بسیار راحت و کاربری است و شاید همین امر باعث شده است که بسیاری ز برنامه نویسان از سرویس های گوگل استفاده کنند و نام معتبر آن نیز به این قضیه کمک کرده است.
مثل همیشه مثال را بدون توضیحات اضافه شروع می کنیم. (من خودم شخصا توضیحات طولانی را برای آموزش نمی پسندم و دوست دارم کد با مختصری توضیحات ارائه شود)
ادامه مطلب...آموزش WebApi
بسم الله الرحمن الرحیم
آموزش WebApi
این دوره آموزشی مقدماتی می باشد، برای مطالعه سایر مقالات این دوره لطفا از طریق لینک زیر اقدام کنید.
مشاهده تمامی آموزش های دوره آموزش Web API
آموزش Web API– سطح مقدماتی
آموزش Web API
در قالب پروژه های MVC قالب جدیدی در خصوص ارسال و دریافت به روش معماری سرویس گرا و برنامه نویسی سرویس بر بستر HTTP به نام Web API معرفی گردید.
توضیحات تئوری بسیاری در راستای این تکنولوژی وجود دارد، ولی مهمترین مبحث، این است که اولا هدف از ارائه این روش منسوخ کردن روش WCF نیست بلکه استفاده از این تکنولوژی در بستر و ارسال و دریافت درخواست های مبتنی بر HTTP است.
این روش پیچیدگی های WCFرا در استفاده نخواهد داشت و به سادگی می توانید یک سرویس ساده تعریف کنید.
برای شروع کار یک پروژه MVC ایجاد کنید و در قالب مربوطه نوع web API را انتخاب کنید. حال در بخش مدل کلاس زیر را اضفه کنید
namespace MvcApplication1.Models
{
public class Employe
{
public int Id { get; set; }
public string FirstName { get; set; }
public string LastName { get; set; }
public decimal salary { get; set; }
}
}
خوب هیچکار خاصی انجام ندادیم و تنها یک کلاس ساده برای کارمندان ایجاد کردیم، حال یک کنترلر را با نام Employe و نوع Empty Api controller ایجاد می کنیم و دستورات زیر را به آن اضافه می کنیم.
ادامه مطلب...
آموزش Remote در asp.net mvc
بسم الله الرحمن الرحیم
آموزش asp.net mvc
برای تعیین اعتبار یک فیلد مجموعه از DataAnnotations لازم ارائه گردید. قابلیت دیگری برای چک کردن یک مقدار وجود دارد که به صورت Ajax عمل می کند و از لود شدن دوباره یک صفحه جلوگیری می کند. طبیعتا همه ما فیلد نام کاربری مربوط به ثبت نام را درسایت های مختلف تکمیل کرده ایم و دیده ایم چطور وقتی که یک نام کاربری تکراری ثبت می کنیم خطای مربوطه را نمایش می دهد.
برای شروع کار یک پروژه جدید MVC ایجاد می کنیم و در بخش Model یک کلاس جدید با نام Account ایجاد و کد زیر را در آن می نویسیم:
namespace MvcApplication2.Models
{
[Table("Account")]
public class Account
{
[Key]
[DatabaseGeneratedAttribute(DatabaseGeneratedOption.Identity)]
public int Id { get; set; }
[Required]
[Display(Name = "User name")]
[Remote("ValidateUserName", "Account")]
public string UserName { get; set; }
[Required]
[StringLength(100, ErrorMessage = "The {0} must be at least {2} characters long.", MinimumLength = 6)]
[DataType(DataType.Password)]
[Display(Name = "New password")]
public string NewPassword { get; set; }
[DataType(DataType.Password)]
[Display(Name = "Confirm new password")]
[Compare("NewPassword", ErrorMessage = "The new password and confirmation password do not match.")]
public string ConfirmPassword { get; set; }
}
}
ادامه مطلب...
طراحی یک مدل از روی EDMX
بسم الله الرحمن الرحیم
آموزش asp.net mvc
بنده شخصا از روش Code First در تولید وب سایت های MVC استفاده می کنم. ولی شروع فراگیریم در ارتباط با MVC به صورت روش معمولی یا همان روش طراحی پایگاه داده با SQL و سپس اضافه کردن مدل مربوطه به پروژه و... بود. برخی از دوستان از همین روش هنوز برای طراحی پروژه های MVC استفاده می کنند، به همین دلیل با مشکلاتی مواجه می شوند (البته هر روشی مزایا و معایب خود دارد در این بخش قصد ندارم در خصوص مزایا و معایب روش ها صحبت کنم بلکه مقصود ارائه راه حل در مورد مشکلات است). یکی از مشکلاتی که با آن مواجه خواهیم شد بحث DataAnnotations و Metadata هایی است که شما برای ساخت یک View سفارشی کد نویسی می کنید. خوب هر بار که شما پایگاه داده خود را تغییر دهید و بخواهید به هر دلیلی مجددا از پایگاه داده خود Model ها را مجددا ایجاد کنید تمامی کد نویسی شما از بین خواهد رفت.
برای حل این مشکل کافی است که یک کلاس Partial تعریف نمایید و در آن فیلدهای خود را در آن بنویسید و سپس یک کلاس برای نگهداری Metadata تعریف نمایید، به این کلاس ها Buddy می گویند.
ادامه مطلب...موتورهای View در asp.net mvc
بسم الله الرحمن الرحیم
آموزش asp.net mvc
همانطورکه می دانید موتورهای زیادی برای طراحی view سایت، در تکنولوژی MVC وجود دارد که دو موتور پیشنهادی از سوی مایکروسافت ASPX و موتور قدرمتند Razor می باشد. علاوه بر این دو موتور یا به اصطلاح view Engine، موتور های دیگری نیز توسط گروه های مختلف طراحی گردیده است که 4 موتور پیشرو در این عرصه موتورهای spark، NHalm، NVelocity و Brail می باشد. NVelocity بر پایه Java apache و NHalm برپایه Ruby on Rails است.
ادامه مطلب...using کردن در view
بسم الله الرحمن الرحیم
آموزش asp.net mvc
هنگامی که با یک view کار می کنید شما بدون اینکه Namespaceهای مربوطه را اضافه کرده باشید (برخلاف سایر کلاس ها) می توانید با تعدادی از Namespace ها بدون استفاده از دستور using کار کنید؟
برخی از فضاهای نام که بیشتر مورد استفاده خواهند بود به صورت پیش فرض توسط مایکروسافت در کلاس پیاده ساز view اضافه شده است. اما این کلاس کجاست؟
برای یافتن این کلاس باید به آدرس زیر بروید و به دنبال کلاسی بگردید که شامل محتوای viewشما باشد چون نامهای انتخابی ارتباطی با نامی که شما برای view خود انتخاب کردید ندارد اما از محتوای این کلاس ها می توانید به کلاس مربوطه دست پیدا کنید.
برای این کار بنده یک view با محتوای خاصی ایجاد کردم که در مسیر مربوطه پس از بررسی فایل ها به فایل مورد نظرم دست پیدا کردم و این فایل شامل اطلاعات زیر بود:
همان طور که در این فایل مشخص است Namespaceهایی به صورت پیش فرض توسط مایکروسافت به viewشما اضافه شده است. شما نیز می توانید به view خود Namespaceهای مورد نظر خود را اضاه کنید. اگر به یک فضای نام، تنها در یک view نیاز دارید بهتر است به روش معمولی آن را به صفحه اضافه کنید مثل کد زیر:
@{
MvcApplication2.App_Code.Class1 c = new MvcApplication2.App_Code.Class1();
c.rets();
}
اما اگر به یک فضای نام در تمامی viewها نیاز دارید کافی است آن را در فایل web configیی که در فولدر view ها قراردارد، به صورت زیر اضافه کنید:
<namespaces>
<add namespace="System.Web.Mvc" />
<add namespace="MvcApplication2.App_Code"/>
<add namespace="System.Web.Mvc.Ajax" />
<add namespace="System.Web.Mvc.Html" />
<add namespace="System.Web.Optimization"/>
<add namespace="System.Web.Routing" />
</namespaces>
آموزش Bundling
بسم الله الرحمن الرحیم
آموزش asp.net mvc
در این بخش قصد دارم در خصوص بهینه سازی و افزایش سرعت لود صفحات وب مباحثی را بررسی نماییم.
همان طور که می دانید اگر در یک سایت شما چندین فایل داشته باشید به ازای هر فایل می بایست یک درخواست به سرور ارائه شود و فایل مربوطه بازیابی گردد و این خود باعث طولانی شدن زمان لود صفحات می گردد، راهکاری که برای این مشکل ارائه گردیده است تبدیل چندین فایل به یک فایل می باشد که این روش متاسفانه فقط برای فایل های تصویری، رایج و مورد استفاده است.
واقعا بسیاری از ما نیز، هنوز از این روش رایج استفاده نمی کنیم کافی است که تمامی آیکون ها و تصاویر با سایز کوچکی که در سایت مورد استفاده می خواهیم قرار دهیم را به یک تصویر تبدیل کنیم.
ادامه مطلب...قابلیت Edit and Continue
بسم الله الرحمن الرحیم
آموزش برنامه نویسی
یک قابلیت مناسب وجود دارد برای خطایابی برنامه ها در VS که شاید بعضی دوستان از این قابلیت استفاده نکنند به همین دلیل سعی کردم به صورت کوتاه آن را بیان کنم البته به همکاران انشالله بر نمی خورد شاید کسانی باشند خارج از مجموعه و بخواهند از مطالب استفاده کنند.
این قابلیت اجازه می دهد تا در صورت بر خورد با خطایی آن خطا در مرحله debug بررسی و برطرف و به اجرای برنامه ادامه دهید. برای فعال سازی این قابلیت کافی است از منوی tools گزینه option وسپس در بخش سمت چپ گزینه debugging گزینه edit and continue enable را فعال کنید و سپس ok را بزنید. حال از منوی project گزینه properties را انتخاب نمایید سپس در پنجره باز شد در بخش سمت چپ گزینه web و در نهایت edit and continue enable را فعال کنید.
فقط این قابلیت در همه جا قابل استفاده نیست مثلا در مواردی که از متغییر های نوع dynamic مثل viewbag استفاده می کنید.
برخی مشکلات تکنولوژی Asp.Net Web Forms
بسم الله الرحمن الرحیم
مطلبی را برای دوستان عزیز در تیم های توسعه و طراحی وب قرار دادم تا با برخی مشکلات مطرح Asp آشنا شوند و همچنین این مشکلات نیز از سویی در MVC حل گردیده و نتیجه آن این است که مطلب زیر معایب Asp و از سویی مزیتهای MVC می باشد انشالله مفید واقع شود.
برخی مشکلات تکنولوژی Asp.Net Web Forms
View State
از View State برای نگه داری وضعیت صفحه در هنگام رد و بدل شدن درخواست و پاسخ بین کلاینت و سرور استفاده می شود. این فیلد به صورت مخفی است و گاهی به دلیل فضای زیادی که اشغال می کند مشکلاتی را به وجود می آورد کسانی که با این تکنولوژی کار کرده اند حتما مثال هایی در ذهن دارند، حجم زیاد این فیلد باعث از بین رفتن پهنای باند و طولانی شدن زمان بارگذاری صفحه می شود
Page Life Time
زمان حیات هر صفحه متفاوت استو گاهی برای اجرای یک درخواست روالهای زیادی فراخوانی می گردد که این موضوع باعث طولانی شدن زمان بارگذاری صفحه می شود و همچنین کد نویسی آن را پیچیده می کند
ادامه مطلب...