- c - 在位数组中找到第一个零
- linux - Unix 显示有关匹配两种模式之一的文件的信息
- 正则表达式替换多个文件
- linux - 隐藏来自 xtrace 的命令
我有以下 Controller ,它允许我使用以/api/v1/report/123.csv 结尾的 URL 通过 CSV 下载文件:
[RoutePrefix("api/v{version:int?}/report")]
public class ReportController : ApiController
{
// ...
[Route("{id}.{ext}", Name="DownloadCsvReport")]
public HttpResponseMessage Get(int id, String ext)
{
//...
}
}
是否有任何助手可以构建正确的 URL?我正在尝试链接到 MVC4.5 页面中的文件,但我似乎无法获得扩展名或版本:
@Url.HttpRouteUrl("DefaultApi", new { controller = "Report", ext="csv", version=1, id = 3, })
@Url.RouteUrl(routeName: "DownloadCsvReport", routeValues: new { id=123, version=1, ext = "csv"})
@Url.Action("DownloadCsvReport", new { id = 123, ext="csv" })
@Url.RouteUrl("DefaultApi", new { httproute = true, controller = "Report", id = 123, Ext="csv", version =1 })
我不认为我在这些问题上走在正确的轨道上......它们都没有替换路由前缀中的版本或路由属性中的 ext,以及各种其他问题。有什么方法可以在不对路径进行硬编码的情况下链接到 URL 吗?
最佳答案
尝试以下操作:
@Url.HttpRouteUrl("DownloadCsvReport", new { ext="csv", version=1, id = 3, })
或
@Url.RouteUrl("DownloadCsvReport", new { httproute = true, id = 123, Ext="csv", version =1 })
关于c# - Web API 2 中的 Http RouteUrl 和属性路由,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22396905/
我有一种情况需要在 ASP.NET MVC 站点的 javascript 中跳转 url。 我们知道,我们可以在xx.cshtml中用@Url.RouteUrl("RouteName", new {
我使用此扩展创建一个 RouteUrl,并附加了当前查询字符串。这适用于两次或多次不具有相同键的查询字符串。 public static string CurrentQueryStringRouteU
这是我的mvc3应用程序的路由配置 routes.IgnoreRoute("{resource}.axd/{*pathInfo}"); routes.MapRoute( "Default",
我使用 Asp.netCore 并且以下代码是我需要通过 XUnit 测试的操作的一部分。问题是 URL当我测试 Action 方法时它是空的。我如何模拟 URL 及其函数 RoutUrl 以返回我期
我目前在我的网站上使用 global.asax 进行页面路由。 除了我有以下代码: //Home: routes.MapPageRoute("intro", String.Empty, "~/Defa
我在生产服务器中的应用程序有问题,因为网站使用 url 路由“http://productionserver.com/myAppName/controllerName/actionName”运行 我需
我有以下代码: @Url.RouteUrl("NewMessage", new { parentThreadId = Model.thread.id, cacheBustParam = current
我正在使用 ASP.NET 4(Web 表单,而不是 MVC)中的新路由功能。现在我有一个绑定(bind)到数据源的 asp:ListView。其中一个属性是 ClientID我想用它从 ListVi
我尝试在 JavaScript 中将 URLHelp.RouteUrl 与动态字符串一起使用。我想要这样 - function MyFun(action, param){ var strPass
我正在扩展 Html.HtmlHelper 以根据我所在的页面呈现面包屑: public static HtmlString RenderBreadCrumb(this HtmlHelper help
我正在尝试获取完整的 URL,但是 RouteUrl正在返回空。 在 View 中,我是这样调用的: alert('@Url.RouteUrl("Api", new { controller = "P
我需要根据参数创建一个路由 URL 作为 JSON 返回值的一部分。 与 Url.RouteUrl 等效但在 Controller 代码内部使用的是什么,因此,我可以在 Json 结果中返回一个包含
我正在为路线构建 UrlHelper如best practices 问题是返回值总是为null调试时发现 Url.RouteUrl("x") 返回 null Url.RouteCollection["
我正在使用 Asp.Net MVC 2 - RC w/Areas。 由于在两个不同的区域有相同的 Controller 名称,我收到了一个模糊的 Controller 名称异常。 我已阅读 Phil
(我使用的是 ASP.NET MVC 2。) 使用 Url.RouteUrl(object) 时如何排除某些属性进入查询字符串? 具体来说,在传递给我的 View 的模型对象中,我有一个字符串数组(技
作为旁注,我了解整个 ambiguous controller names问题并使用命名空间来使我的路线正常工作,所以我认为这不是问题。 到目前为止,我有我的项目级 Controller ,然后是具有
假设您有一个操作方法来在购物车中显示产品 // ProductsController.cs public ActionMethod Index(string gender) { //
生成链接时,代码在 Controller 的 Indexx 中。所以链接是以这种形式生成的 Wk/Index/XX/YYYY 网址代码是 url = urlHelper.RouteUrl("Wk",
我有路线 // Sample URL: /Fixtures/Team/id routes.MapRoute( "Fixtures-by-TeamID", "Fixtures/Tea
我有以下 Controller ,它允许我使用以/api/v1/report/123.csv 结尾的 URL 通过 CSV 下载文件: [RoutePrefix("api/v{version:int?
我是一名优秀的程序员,十分优秀!