kavayo
جمعه 16 خرداد 1393, 18:48 عصر
Routing یک ویژگی است که ما میتوانیم نوع نمایش یک لینک رو در ان مشخص کنیم . حال در mvc5 قابلیتی جدید بدان افزوده شده است ما در mvc4 تنظیمات مربوط به routing رو در کلاس RoutConfig انجام میدادیم ولی در نسخه mvc5 میتوانیم در هر جایی که لینکی قرار است وارد شود ان را طبق خواسته خودمان تغییر دهیم .
حال برای شروع کار بایستی یک پروژه در visual studio2013 ایجاد کنیم :
Start Page --> New Project > Templates > Visual C# > Web > ASP.NET Web Application > PressOK > Select MVC > Press OK
بعد بایستی به کلاس RouteConfig برویم و و درمتد RegisterRoutes بنویسیم :
routes.MapMvcAttributeRoutes();
حال با ویژگی [Route] میتوانیم نام مسیر را تغییر دهیم :
[RoutePrefix(“user”)] // با این کار هر جای این کنترلر ما از ویژگی [Route] استفاده کردیم رشته user به صورت پیش فرض به ابتدای لینک اضافه میشود
Public class HomeController:Controller
{[Route] //آدرس url به user/ تغییر میابد
Public ActionResult Index()
{
…
}
[Route(“ about”)] //آدرس url به user/about تغییر میابد
Public ActionResult About()
{
…
}
[Route(“ product/id?”)] // آدرس url به user/product/id value تغییر میابد حتی ما در اینجا میتوانیم با نوشتن [Route(“ product/{id:int}”)] مقادیر id رو فقط به نوع int محدود کنیم
Public ActionResult GetID(int? id)
{
…
}
}
ما حتی میتوانیم لینک های موجود در view را نیز روت کنیم :
<a href="@Url.RouteUrl("mainmenu")">Main menu</a>
[Route("menu", Name = "mainmenu")] آدرس url به user/menu تغییر میابد
public ActionResult MainMenu() {
return View("About");
}
و برای Area نیز میتوانیم این کار رو انجام بدیم
حال برای شروع کار بایستی یک پروژه در visual studio2013 ایجاد کنیم :
Start Page --> New Project > Templates > Visual C# > Web > ASP.NET Web Application > PressOK > Select MVC > Press OK
بعد بایستی به کلاس RouteConfig برویم و و درمتد RegisterRoutes بنویسیم :
routes.MapMvcAttributeRoutes();
حال با ویژگی [Route] میتوانیم نام مسیر را تغییر دهیم :
[RoutePrefix(“user”)] // با این کار هر جای این کنترلر ما از ویژگی [Route] استفاده کردیم رشته user به صورت پیش فرض به ابتدای لینک اضافه میشود
Public class HomeController:Controller
{[Route] //آدرس url به user/ تغییر میابد
Public ActionResult Index()
{
…
}
[Route(“ about”)] //آدرس url به user/about تغییر میابد
Public ActionResult About()
{
…
}
[Route(“ product/id?”)] // آدرس url به user/product/id value تغییر میابد حتی ما در اینجا میتوانیم با نوشتن [Route(“ product/{id:int}”)] مقادیر id رو فقط به نوع int محدود کنیم
Public ActionResult GetID(int? id)
{
…
}
}
ما حتی میتوانیم لینک های موجود در view را نیز روت کنیم :
<a href="@Url.RouteUrl("mainmenu")">Main menu</a>
[Route("menu", Name = "mainmenu")] آدرس url به user/menu تغییر میابد
public ActionResult MainMenu() {
return View("About");
}
و برای Area نیز میتوانیم این کار رو انجام بدیم