【问题标题】:Create URL for action with attribute routing使用属性路由为操作创建 URL
【发布时间】:2018-08-10 15:43:23
【问题描述】:

我在具有 ASP.NET MVC 5 属性路由的控制器中有操作。

public class HomeController : BaseController
{
  [Route("{srcFileFormat}-to-{dstFileFormat}")]
  public ActionResult Converter(string srcFileFormat, string dstFileFormat)
  {
  }
}

我正在尝试创建 url,但总是得到 Null 而不是 URL。有什么建议如何在我的情况下一起使用UrlHelper.ActionAttribute Routing

@Url.Action("docx-to-pdf", "Home")

【问题讨论】:

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


    【解决方案1】:

    Url.Action 中,我们指定控制器名称和操作方法名称,而不是您尝试的路由命名或参数。

    我们通常通过以下方式获取控制器操作的 url:

    @Url.Action("Converter", "Home")
    

    但是由于您的操作方法也需要两个参数并且您正在尝试将它们传递进来,因此您也需要调用它来传递参数,例如:

    @Url.Action("Converter", "Home", new {srcFileFormat ="doc",dstFileFormat="pdf"})
    

    现在它应该生成如下网址:

    localhost:6087/doc-to-pdf
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2017-12-18
      • 1970-01-01
      • 2014-02-06
      • 1970-01-01
      • 2014-08-02
      • 2017-11-21
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多