c# - 从另一个控制器创建指向控制器的 url 链接
问题描述
我在 ASP.NET Core 2.0 中开发了一个 WebApi RESTful。从控制器 AI 中的操作方法创建位于不同控制器 B 中的操作方法的 URL 地址:
[Route("api/applications/{idbcon}/bcontrollers")]
public class BController : Controller{
[HttpGet({idbcon}), Name = "ActionB"]
public IActionResult ActionB(int idbcon, [FromHeader(Name = "Accept")] string mediatype){
return OK();
}
}
[Route("api/applications/{idapp}/bcontrollers/{idbcon}/acontrollers")]
public class AController: Controller{
[HttpGet(), Name = "GetURLBController"]
public IActionResult GetURLBController()
{
var url = /* Here I would like to get the link to "ActionB" that belong to a Controller "BController" */;
return Ok(url);
}
}
有什么建议吗???
解决方案
使用接受和参数的IUrlHelper.Action
重载:action
controller
public class AController : Controller
{
[HttpGet]
public IActionResult GetURLBController()
{
var url = Url.Action("ActionB", "BController");
return Ok(url);
}
}
IUrlHelper
是您从Controller
基类继承的东西,作为Url
属性公开。
推荐阅读
- winapi - 如何用 CreateProcess() 模拟 ShellExecute()
- flutter - 如何更新颤动警报框中的按钮文本
- python - 为什么每次加载并继续训练 ConvNet 后准确率都会下降?
- java - 为什么这段代码不能在 android 9 上正确运行?
- javascript - AngularJS 应用程序:如何从视图中获取日期并在控制器中使用它?
- swift - 无法将整个双向链表元素打印到控制台
- c - 如何通过将原始数组传递给c中的函数来修改原始数组
- java - JavaFX - 主控制器调用子控制器的函数导致空指针异常
- python - 如何使用循环当前引用的位置更新变量?
- python - 我的输出需要是这样的,它不像我需要的那样出现