将网址写入Razor中的自定义路线

Pau*_*aul 2 parameters url asp.net-mvc html.actionlink razor

我已声明类似于以下内容的自定义路由:没有“详细信息”操作的ASP.MVC路由

这是我的路线:

routes.MapRoute(
    name: "Profile",
    url: "Profile/{aScreenName}",
    defaults: new { controller = "Profile", action = "Index", aScreenName = UrlParameter.Optional }
);
Run Code Online (Sandbox Code Playgroud)

我以为这看起来更整洁,但现在我正在努力寻找一种方法来创建指向Razor中这些路线的超链接。问题是我尝试的所有对象都需要一个对象,并自动尝试将其视为完整的查询字符串。我找不到合适的助手来做到这一点。我曾尝试@html@url@href

有人知道最好的方法吗?

Lee*_*ley 5

<a href="@Url.RouteUrl("Profile", new { aScreenName = "yourScreenName" })">click here</a>
Run Code Online (Sandbox Code Playgroud)

要么

@Html.ActionLink("click here", "Index", "Profile", new { aScreenName = "yourScreenName" })
Run Code Online (Sandbox Code Playgroud)