2017-06-18 76 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 –