WebAPI 控制器中的 MVC 路由

2024-01-10

关于 MVC 和 WebAPI 中的路由的快速问题。我在路由config.cs中添加了一条路由:

        routes.MapRoute(
            name: "ConfirmEmail",
            url: "ConfirmEmail/{userid}",
            defaults: new { controller = "Email", action = "ConfirmEmail" }
        );

这是按照正常情况在 global.asax 中注册的:

RouteConfig.RegisterRoutes(RouteTable.Routes);

我正在尝试生成一个在电子邮件中使用的 URL,该电子邮件作为 WebAPI 控制器函数内的函数调用的一部分发送。我正在使用 UrlHelper.Link 函数尝试生成 URL,但是收到一条错误消息,指出无法按名称找到路由:

var url = Url.Link("ConfirmEmail", new { userid = "someUserId" });

现在,我的印象是路由字典在 MVC 和 WebAPI 控制器上下文中共享,但是我无法在传入 Web API 调用的路由字典中看到 MVC 路由(在 Request 对象上),但是我定义的 WebAPI 路由在那里。

我错过了什么吗?


这是一种更简洁的方法,可以从 WebApi 生成 MVC 路由的链接。我在自定义基础 api 控制器中使用此方法。

protected string MvcRoute(string routeName, object routeValues = null)
{
    return new System.Web.Mvc.UrlHelper(System.Web.HttpContext.Current.Request.RequestContext)
       .RouteUrl(routeName, routeValues, System.Web.HttpContext.Current.Request.Url.Scheme);

}
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

WebAPI 控制器中的 MVC 路由 的相关文章

随机推荐

  • Python 中的字符串连接与字符串替换

    在 Python 中 我不知道何时何地使用字符串连接与字符串替换 由于字符串连接在性能上有了很大的提升 这 变得更加 是一种风格决定而不是实际决定吗 举一个具体的例子 应该如何处理灵活 URI 的构造 DOMAIN http stackov
  • 如何在powershell的提升模式下执行命令集

    我尝试了以下方法在管理员模式下执行命令 PS gt start process powershell verb runas app Get AppxPackage all Where Object Name like ReleaseName
  • OpenRasta 入门 [关闭]

    Closed 这个问题不符合堆栈溢出指南 help closed questions 目前不接受答案 您好 有人可以建议开始使用 OpenRasta 的方法吗 也许是文章 教程 示例应用程序和文档 有一些博客文章 OpenRasta简介 h
  • $.post 和 $.ajax 之间的区别?

    很好奇是否有人知道数据参数有什么区别 我有一个 post方法需要一个 myform serialize 作为我的数据参数并且有效 如果我尝试使用相同的 ajax 方法 它不起作用 因为我的数据参数看起来不正确 有谁知道其中的区别以及我可以用
  • 如果这些容器属于不同的层,那么每个应用程序拥有许多 Castle Windsor 容器是否正确?

    我最近一直在玩温莎城堡 并意识到我可以用它来支持我目前已经使用的类似容器的对象 到目前为止 我只阅读了有关每个应用程序只有一个容器实例的应用程序的信息 如果这些容器属于不同的层 那么每个应用程序有许多容器是否正确 我问这个问题的原因是因为我
  • 如何根据R中行之间的日期差异过滤行?

    每个内id 我想保留至少相隔 91 天的行 在我的数据框中df below id 1有 5 行并且id 2有 1 行 For id 1 我想只保留第一 第三和第五行 这是因为如果我们比较第一个日期和第二个日期 它们相差 32 天 因此 删除
  • 将属性添加到类型而不是类型实例的隐式转换

    我正在阅读一些较旧的 Scala 帖子 以更好地理解类型类 然后我运行了 穿过this one https stackoverflow com questions 8524878 implicit conversion vs type cl
  • 在 HTML 中调用 Google Apps 脚本函数

    我担任一支运动队的教练并为其建立了一个网站 我想在管理页面添加一个按钮 单击该按钮即可快速向团队中的每个人发送电子邮件 这封电子邮件的内容如下 今天的日程安排已更改 请访问网站了解更多信息 我确信通过 Outlook 中的通讯组列表或其他东
  • Android:PhoneLookup 的目录数据提供程序

    我正在编写一个自定义 Android 联系人目录 我已经实现了 ContactsContract Directory 提供程序 并且从手机应用程序中进行搜索工作正常 我现在面临的问题是 当我有来电 去电时 Android 拨号器不会查询我注
  • 使用 pywinauto 检查复选框不起作用

    我从 pip 安装了最后一个 pywinauto 模块 我不知道如何使用 Check UnCheck GetCheckState 方法 这是我非常简单的代码示例 from pywinauto import application Start
  • 测试 numpy 数组中的每个元素是否位于两个值之间的简单方法?

    我想知道是否有一种语法上简单的方法来检查 numpy 数组中的每个元素是否位于两个数字之间 换句话说 就像numpy array 1 2 3 4 5 lt 5将返回array True True True True False 我想知道是否
  • antlr 文字字符串匹配:我做错了什么?

    我已经使用antlr 3天了 我可以解析表达式 编写侦听器 解释解析树 这是梦想成真 但后来我尝试匹配文字字符串 foo 但失败了 我可以找到很多声称可以做到这一点的例子 我都试过了 所以我创建了一个小项目来匹配文字字符串 我一定是在做一些
  • C#:如何将DLL嵌入到资源文件中(程序目录中没有DLL副本)

    我有一个需要 X dll 的 C 应用程序 项目 A 我已经将生成X dll的项目添加到A中作为Visual Studio中的参考 我还将 X dll 的发布版本作为二进制文件添加到 A 中的资源文件中 我已经告诉A项目了not将 X dl
  • 在 R 中合并列

    我想使用 R 将数据框的两列合并为一长列 下面有一个可重现的数据 data lt data frame x c 4 5 6 7 7 7 y c 3 4 5 6 7 7 data x y 1 4 3 2 5 4 3 6 5 4 7 6 5 7
  • Waypoint npm - 错误:无法解析“waypoint”

    我有一个 vue 项目并安装了 waypoints npm install waypoints 我尝试导入它 import waypoint from waypoints 但出现错误 错误 无法解析 Mypath 中的 路径点 我究竟做错了
  • 我需要服务器向所有客户端发送消息(Python、套接字)

    这是我的服务器程序 它如何将从每个客户端接收到的数据发送到每个其他客户端 import socket import os from threading import Thread import thread def listener cli
  • '#' 在 Mocha 中有特殊含义吗?

    describe indexOf it doSth 在 Mocha 中有特殊含义吗 什么是describe and it实际上呢 抱歉 没有找到相关文档describe and it describe and it遵循一种称为BDD 意思是
  • 使用 Zend 框架 2 未在 JSON 中呈现 404 HTTP 错误

    我正在使用 zend Framework2 创建一个简单的 Restful api 并且我参考了 Rob Allen 关于该主题的注释以及 http hounddog github com blog getting started with
  • 使用 C# 枚举 Excel 工作簿中单元格的有效方法

    枚举工作簿中每个工作表中的每个单元格的最有效方法是什么 对于包含约 130 000 个单元格的工作簿 下面的方法似乎相当有效 在我的机器上 打开文件大约需要 26 秒 枚举单元大约需要 5 秒 不过 我不是 Excel 专家 并且希望与更广
  • WebAPI 控制器中的 MVC 路由

    关于 MVC 和 WebAPI 中的路由的快速问题 我在路由config cs中添加了一条路由 routes MapRoute name ConfirmEmail url ConfirmEmail userid defaults new c