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

2024-03-08

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

我定义了许多行动路线GotoAbout().

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


参考ASP.NET MVC 5 中的属性路由 - 路由名称 https://blogs.msdn.microsoft.com/webdev/2013/10/17/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>
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

如何在 Asp.Net MVC 中使用属性路由为操作生成 URL 的相关文章

  • 为什么 C 程序使用 Scanf 给出奇怪的输出?

    我目前正在学习 C 编程 并且遇到了这个奇怪的输出 Program will try functionalities of the scanf function include
  • 无法继承形状

    为什么我不能使用继承 a 的类Shapes class http msdn microsoft com en us library ms604615 28v vs 90 29 我需要延长Rectangle具有一些方法的类 但我想以与使用相同
  • Boost ASIO 串行写入十六进制值

    我正在使用 ubuntu 通过串行端口与设备进行通信 所有消息都必须是十六进制值 我已经在 Windows 环境中使用白蚁测试了通信设置 并得到了我期望的响应 但在使用 Boost asio 时我无法得到任何响应 以下是我设置串口的方法 b
  • C# 中一次性对象克隆会导致内存泄漏吗?

    检查这个代码 class someclass IDisposable private Bitmap imageObject public void ImageCrop int X int Y int W int H imageObject
  • 2个对象,完全相同(除了命名空间)c#

    我正在使用第三方的一组网络服务 但遇到了一个小障碍 在我手动创建将每个属性从源复制到目标的方法之前 我想我应该在这里寻求更好的解决方案 我有 2 个对象 一个是 Customer CustomerParty 类型 另一个是 Appointm
  • 防止控制台应用程序中的内存工作集最小化?

    我想防止控制台应用程序中的内存工作集最小化 在Windows应用程序中 我可以这样做覆盖 SC MINIMIZE 消息 http support microsoft com kb 293215 en us fr 1 但是 如何在控制台应用程
  • MVC 5 中具有 ASP.NET Identity 的 Autofac 不会验证 OWIN 管道中的安全标记

    我在 MVC 5 中设置了 AutoFac 来与 ASP NET Identity 一起使用 表面上一切似乎都工作正常 即用户可以创建帐户并登录 但后来我发现 当安全标记更改时 用户不会注销 通过在 AspNetUsers 表中进行暴力破解
  • 用于在标头更改时重新编译的简单 C 项目的示例 makefile

    有谁有完整的 makefile 可以执行以下操作 如果 HEADER 文件发生更改 则重建项目 cpp 文件在 makefile 中列出 头文件未在 makefile 中列出 头文件允许与 cpp 文件具有不同的名称 部分cpp文件没有头文
  • 在Page_Load之前处理事件

    我有一个 ASP NET 网页 其中包含大量在页面的 Page Load 事件中处理的代码 我在页面上还有一个下拉框 应该使用新值重新加载页面 但我想在处理整个页面加载代码之前获取这个新值 我正在尝试了解 ASP NET 页面生命周期 我应
  • if constexpr 中的 not-constexpr 变量 – clang 与 GCC

    struct A constexpr operator bool const return true int main auto f auto v if constexpr v A a f a clang 6 接受该代码 GCC 8 拒绝它
  • OpenGL:如何检查用户是否支持glGenBuffers()?

    我检查了文档 它说 OpenGL 版本必须至少为 1 5 才能制作glGenBuffers 工作 用户使用的是1 5版本但是函数调用会导致崩溃 这是文档中的错误 还是用户的驱动程序问题 我正在用这个glGenBuffers 对于VBO 我如
  • Linux 上的 RTLD_LOCAL 和dynamic_cast

    我们有一个由应用程序中的一些共享库构成的插件 我们需要在应用程序运行时更新它 出于性能原因 我们在卸载旧插件之前加载并开始使用新插件 并且只有当所有线程都使用旧插件完成后 我们才卸载它 由于新插件和旧插件的库具有相同的符号 我们dlopen
  • 在 azure blob 存储中就地创建 zip 文件

    我将文件存储在 Blob 存储帐户内的一个容器中 我需要在第二个容器中创建一个 zip 文件 其中包含第一个容器中的文件 我有一个使用辅助角色和 DotNetZip 工作的解决方案 但由于 zip 文件的大小最终可能达到 1GB 我担心在进
  • SQLAPI++ 的免费替代品? [关闭]

    Closed 这个问题正在寻求书籍 工具 软件库等的推荐 不满足堆栈溢出指南 help closed questions 目前不接受答案 是否有任何免费 也许是开源 的替代品SQLAPI http www sqlapi com 这个库看起来
  • ASP.NET Core 中间件与过滤器

    在阅读了 ASP NET Core 中间件之后 我对何时应该使用过滤器以及何时应该使用中间件感到困惑 因为它们似乎实现了相同的目标 什么时候应该使用中间件而不是过滤器 9频道有一个关于此的视频 ASP NET 怪物 91 中间件与过滤器 h
  • .NET 和 Mono 之间的开发差异

    我正在研究 Mono 和 NET C 将来当项目开发时我们需要在 Linux 服务器上运行代码 此时我一直在研究 ASP NET MVC 和 Mono 我运行 Ubuntu 发行版 想要开发 Web 应用程序 其他一些开发人员使用 Wind
  • 以编程方式创建 Blob 存储容器

    我有一个要求 即在创建公司时 在我的 storageaccount 中创建关联的 blob 存储容器 并将容器名称设置为传入的字符串变量 我已尝试以下操作 public void AddCompanyStorage string subDo
  • Xamarin Forms Binding - 访问父属性

    我无法访问页面的 ViewModel 属性以便将其绑定到 IsVisible 属性 如果我不设置 BindingContext 我只能绑定它 有没有办法可以在设置 BindingContext 的同时访问页面的 viewmodel root
  • Streamwriter 覆盖 txt 文件中的文本

    有没有什么方法可以重新打开流写入器而不创建新的写入对象 因为此时 当调用 WriteOdd 时 streamwriter 正在覆盖在它之前调用的 WriteEven public void WriteEven StreamWriter wr
  • 如何在 ASP.NET Core 中注入泛型的依赖关系

    我有以下存储库类 public class TestRepository Repository

随机推荐

  • KnockoutJS:如何将一个 observableArray 添加到另一个 observableArray?

    我想将选择元素中的选定选项添加到绑定表中 视图模型具有 addItem 函数 该函数使用 ko utils arrayPushAll 将 selectedItems 数组添加到 linkedItems 数组中 但是当我单击 添加 按钮 调用
  • 按字母顺序对对象数组进行排序

    我正在尝试按字母顺序对对象数组进行排序 为了使事情简单 我使用下面的示例 在我的打字稿中 我通过拼接来插入和删除数组对象中的项目 Array cars id 1 items name car1 description this is car
  • 如何使用 Rijndael 在 iOS 中加密 C# 中的解密字符串

    我正在尝试使用 Objective C 和 C 加密和解密字符串 两者在本机代码中都工作正常 但是当我尝试解密 C 中的字符串时 它在 iOS 中被加密 我收到一些错误 这是我在目标c中使用的代码 NSData AES256EncryptW
  • javascript 在 onload 中选择文本区域中的文本

    使用 JavaScript 加载页面时 如何自动选择文本区域中的文本 JSFiddle 演示 http jsfiddle net kjy112 V85mC 你可以这样做 HTML
  • 将文件夹的多个 csv 文件加载到一个数据框中

    我有多个 csv 文件保存在一个具有相同列布局的文件夹中 并希望将其作为 pandas 中的数据框加载到 python 中 这个问题确实与此类似thread https stackoverflow com questions 3833052
  • dequeueReusableCellWithIdentifier:forIndexPath 中断言失败:

    所以我正在为我的学校制作一个RSS阅读器并完成代码 我运行了测试 它给了我这个错误 这是它所引用的代码 UITableViewCell tableView UITableView tableView cellForRowAtIndexPat
  • Magento FPC Cache Warm 与用户组、wget、Lesti FPC

    我在 Magento 网站上使用 Lesti FPC 该网站有 10 个客户组和很多类别 产品 我创建了一个 shell 脚本 它会在一夜之间读取 sitemap xml 和 wget 的每个 url 以构建站点的缓存 这对于访客来说非常有
  • 不带 SQL 的 ContentProvider

    我有两条数据需要从外部应用程序访问并存储 根据文档 ContentProviders 是唯一可能的方式 但它也提到了外部存储 ContentProviders 实现了一个类似数据库的 接口 对于两条数据来说使用数据库是非常不必要的 我宁愿将
  • 如何将 XMLGregorianCalendar 与仅日期部分(日、月、年)进行比较?

    我正在开发一个与 spring struts Web 应用程序集成的 Web 服务 在 XSD 中有一个 XMLGregorianCalendar 类型属性 假设属性名称是trxDate 在 SOAPUI 测试应用程序中 如果我使用以下命令
  • Java:使用 Bouncy Castle 进行 PGP 加密

    我正在尝试使用 PGP 实现加密 并且我的加密方法成功加密了输入字符串 但是当我尝试解密它以验证加密是否正确完成时 该字符串不会被解密 我尝试了两种方法 第一种方法使用文件输出流编写加密字符串和第二种方法使用字节数组输出流 文件输出流创建一
  • Angular 2 + RxJS:带有 .share() 运算符的异步管道

    当使用async管道上的可观察对象正在使用 share 运算符 由于后端计算成本高昂 我偶然发现了这种行为 data new Observable observer gt let counter 0 observer next counte
  • Angular UI Bootstrap Popover 添加关闭按钮

    我有以下弹出窗口 并尝试添加一个关闭按钮以将其关闭 directive popoverHtmlUnsafePopup function use strict return restrict EA replace true scope tit
  • libvirt 和 VirtualBox / 入门

    我正在尝试使用 VirtualBox 作为虚拟化解决方案来开始使用 libvirt 我安装了所有内容 并且 VirtualBox 本身在使用 VBoxHeadless 命令时正在运行 但是 libvirt 无法连接到 VirtualBox
  • 运行“docker build”时不会反映对我的 dockerfile 的更改

    Docker 初学者在这里 我正在尝试通过调用来构建 docker 映像docker build t my image 并对失败的行进行 dockerfile 更改 我目前在这一行遇到问题 RUN apt get install qy lo
  • Spring MVC:不反序列化 JSON 请求正文

    我正在开发一个 Spring MVC 项目 我需要做的任务之一要求我拥有用户在 POST 请求中发送的一串 JSON 数据 我知道 Spring 会使用 Jackson 将 JSON 反序列化为对象 但是如果我尝试如下操作 RequestM
  • 了解 SQL Server 中的锁定行为

    我尝试重现问题 1 的情况 在桌子上 获取并填充了来自 wiki 的 隔离 数据库系统 2 的数据 在 SQL Server 2008 R2 SSMS 中 我执行了 1 首先在SSMS的第一个选项卡 窗口 中 transaction iso
  • .ico 的理想大小

    位于窗口顶角的 ico 文件的理想大小是多少 简短回答 16 x 16 像素 长答案 ico 文件实际上可以包含多种颜色深度的多个图像 您可以在单个文件中提供 16x16 32x32 48x48 和 64x64 操作系统将选择最好的一个进行
  • 使用sql查询将字符串转换为int

    如何在 SQL Server 2005 上使用 SQL 查询将字符串转换为整数 你可以使用投射或转换 http msdn microsoft com en us library ms187928 SQL 90 aspx SELECT CAS
  • 将数据属性传递给模态引导程序

    a class my link href modal link a 我有这个链接来打开引导模式 但我需要传递数据属性 data val 我尝试使用 javascript 但没有得到它 你能帮我么 您可以收听show bs modal模式上的
  • 如何在 Asp.Net MVC 中使用属性路由为操作生成 URL

    public class HomeController Controller Route Users about Route Users WhoareWe Route Users OurTeam Route Users aboutCompa