2017-06-18 75 views
2
public class HomeController : Controller 
{ 
    [Route("Users/about")] 
    [Route("Users/WhoareWe")] 
    [Route("Users/OurTeam")] 
    [Route("Users/aboutCompany")] 
    public ActionResult GotoAbout() 
    { 
     return View(); 
    } 
} 

我有很多定義爲操作GotoAbout()的路由。如何在Asp.Net中使用屬性路由生成URL的動作URL MVC

如何以編程方式在剃鬚刀頁面中創建路線網址時生成類似home/users/about的操作的網址?

+0

給路由的名稱和參考路線直接按名稱。 – Nkosi

+0

如何做到這一點....如果可能,你可以給我一個小例子代碼。 –

回答

3

參考Attribute Routing in ASP.NET MVC 5 - Route Names

可以爲路由指定一個名稱,以便輕鬆地讓URI生成它。

例如,以下路線:

[RoutePrefix("Home")] 
public class HomeController : Controller { 
    [Route("Users/about", Name = "Users_About")] 
    [Route("Users/WhoareWe")] 
    [Route("Users/OurTeam")] 
    [Route("Users/aboutCompany")] 
    public ActionResult GotoAbout() { 
     return View(); 
    } 
} 

你可以生成使用Url.RouteUrl鏈接:

<a href="@Url.RouteUrl("Users_About")">About</a> 

這將解決以

<a href="home/users/about">About</a> 
+0

我可以像這樣生成路由網址@@ Html.RouteLink(Model.PostTitle,「ArticlesPost」,new {category = Model.postCategory.Category,url = Model.PostUrl},new {@class =「title」}) '代碼取自http://www.dotnet-tutorial.com/articles/mvc/getting-started-with-custom-routing-in-asp-net-mvc –