با عرض سلام.
بعد از انتظارهای بسیار ، بالاخره ASP.NET MVC 3 نسخه Rc ارائه شد و بزودی نسخه RTM هم میاد .

در زیر لینک دانلود و برخی از ویژگی های این نسخه جدید ارائه میشه تا انشاءالله در مقالات بعدی به تفضیل در مورد این ویژگیها بحث کنیم .

Razor
Razor ، یک ViewEngine جدید هست که مایکروسافت به تازگی ارائه داده .
البته ViewEngineهای دیگه ای هم در حال حاضر وجود داره . مثل Spark که باید گفت Razor چیز دیگری است .
تا قبل از ارائه MVC 3 Rc ، این ViewEngine از داشتن Intellisense محروم بود . ولی در حال حاضر باید گفت که این ویژگی در این نسخه پشتیبانی میشه .
برای روشن شدن موضوع دو کد زیر رو با هم مقایسه کنین و خودتون بگید که کدوم بهتره ...


و حالا Razor:


دیگه خبری از <% های مزاحم نیست .
یکی دیگه از ویژگی های ASP.NET MVC3 ، وجود Attribute جدیدی با نام Remote هست . کار این Attribute این هست که این امکان رو میده تا بعضی از validation ها که نیاز داره در server-side انجام بشه با استفاده از پلاگین jQuery ممکن بشه .
به این مثال توجه کنید:

[Remote("UsernameExists","Account")]
public string Username { get; set; }



در نسخه های قبل وقتی که کاربر میخواست بروی بروی بعضی از پراپرتی هاش یکسری custom validaton داشته باشه ، و این validation ها در حالت client بررسی بشه ، میبایست زحمت میکشید و با پلاگین jQuery Validation یا AJAX Validation این مسئله رو حل میکرد.
در مثال بالا ، من بروی پراپرتی username این attribute رو قرار دادم .
پارامتر اول نام Action یی هست که میخوایم جهت validation فراخونی بشه و پارامتر بعدی نام Controller یی که Action در اون قرار داره .
حال وقتی که صفحه میخواد submit بشه ، با استفاده از jQuery درخواستی برای Action تعیین شده فرستاده میشه و درصورتی که validation با موفقیت انجام نشه ، کاری انجام نمیشه .
البته پارامتر های دیگه ای مثل Fields هم هست که انشاء الله در مقالات بعدی بررسی میکنیم .

یکی از ویژگی هایی که بصورت پیش فرض در ASP.NET mvc فعال هست ، وجود سیستم validaton یی هست که برنامه رو بصورت خودکار از حملات XSS حفظ میکنه .
در این نسخه Attribute جدیدی معرفی شده با نام SkipRequestValidation که اگر بروی پراپرتی قرار بگیره ، این validation بروی اون پراپرتی عمل نمیکنه .

در حال حاضر بازار AJAX بسیار داغه و استفاده از این تکنولوژی بسیار دیده میشه .
گاهی ممکنه که شما بخواید یک سری داده که در قالب JSON هست رو به سرور بفرستید و بروی اون کاری انجام بدید(مثلا محصولی رو به دیتابیس اضافه کنید )
در این نسخه Json Model Binder اضافه شده ، بدین معنی که این امکان رو میده تا action های ما بتونن داده هایی که در قالب JSON ارسال میشن رو دریافت کنن.
مثال زیر رو در نظر بگیرید:

$(‘#btnStore’).Click(
function()
{
var student = {Name = $(‘#name’).val(),
Age = $(‘#age’).val()};
$.ajax(
type: “POST”,
url: ‘/Student/Add’,
data: JSON.stringify(student),
contentType: “application/json; charset=utf-8”
);
});

حالا ما در controller یی با نام Student ، Actionیی داریم با نام Add که به صورت زیر تعریف شده:

public class Student : Controller
{
public ActionResult Add(Student student)
{
// add student to database.
}
}

همونطور که مثال نشون میده ، اطلاعات که در قالب JSON ارسال شدن ، به object یی از نوع Student تبدیل میشن و برای action ما قابل استفاده میشن ...

از موارد دیگه میشه به پشتیبانی IoC (Inversion of Control) در این نسخه اشاره کرد .


لینک دانلود ASP.NET MVC 3 RC

با آرزوی موفقیت ...