为具有属性路由的操作创建 URL
Create URL for action with attribute routing
我在控制器中使用 ASP.NET MVC 5 属性路由进行操作。
public class HomeController : BaseController
{
[Route("{srcFileFormat}-to-{dstFileFormat}")]
public ActionResult Converter(string srcFileFormat, string dstFileFormat)
{
}
}
我正在尝试创建 url 并且总是得到 Null 而不是 URL。关于如何在我的情况下一起使用 UrlHelper.Action
和 Attribute Routing
有什么建议吗?
@Url.Action("docx-to-pdf", "Home")
在 Url.Action
中,我们指定控制器名称和操作方法名称,而不是您尝试的路由命名或参数。
我们通常通过以下方式获取控制器操作的 url:
@Url.Action("Converter", "Home")
但是由于您的操作方法也需要两个参数,而您正试图将它们传入,因此您需要调用它来传递参数,例如:
@Url.Action("Converter", "Home", new {srcFileFormat ="doc",dstFileFormat="pdf"})
现在它应该生成 url 像:
localhost:6087/doc-to-pdf
我在控制器中使用 ASP.NET MVC 5 属性路由进行操作。
public class HomeController : BaseController
{
[Route("{srcFileFormat}-to-{dstFileFormat}")]
public ActionResult Converter(string srcFileFormat, string dstFileFormat)
{
}
}
我正在尝试创建 url 并且总是得到 Null 而不是 URL。关于如何在我的情况下一起使用 UrlHelper.Action
和 Attribute Routing
有什么建议吗?
@Url.Action("docx-to-pdf", "Home")
在 Url.Action
中,我们指定控制器名称和操作方法名称,而不是您尝试的路由命名或参数。
我们通常通过以下方式获取控制器操作的 url:
@Url.Action("Converter", "Home")
但是由于您的操作方法也需要两个参数,而您正试图将它们传入,因此您需要调用它来传递参数,例如:
@Url.Action("Converter", "Home", new {srcFileFormat ="doc",dstFileFormat="pdf"})
现在它应该生成 url 像:
localhost:6087/doc-to-pdf