c# - 如何在 Asp.Net MVC 中使用属性路由为操作生成 URL

标签 c# asp.net asp.net-mvc asp.net-mvc-5 asp.net-mvc-routing

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

我为 GotoAbout() 操作定义了许多路线。

当为 home/users/about 等操作生成 URL 时,如何以编程方式在 razor 页面中创建路由 URL?

最佳答案

引用 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>

关于c# - 如何在 Asp.Net MVC 中使用属性路由为操作生成 URL,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44619883/

相关文章:

asp.net-mvc - 如何将基准测试记录到 MVC Controller 中的 CSV 文件?

c# - 如何使用分页方法

asp.net-mvc - MVC3 DbContext 保存后获取新模型的 ID?

c# - DbContext.Database.Migrate() 方法在哪里?

asp.net - 将 SSRS 与 ASP.Net ReportViewer 一起使用

mysql - 如何查看从 VB.net 代码传递给 SQL 的查询

c# - 为什么我的 Web API 仅在 Put 时失败?

c# - 在 C# 中自定义形状的 Aero Windows?像这些!

c# - WPF 页面调整大小

c# - DllNotFoundException : TMPro_Plugin, 在 Linux 上使用 TextMesh Pro