问题标签 [attributerouting]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
asp.net-mvc - AttributeRouting 生成指定语言的链接
我想知道是否有某种方法可以Html.ActionLink
用来设置必须使用哪种语言生成链接的 URL AttributeRouting
。我尝试过:
但它不起作用。有没有办法设置必须AttributeRouting
以哪种语言生成 URL。
我需要的是在我的网站链接顶部放置以更改当前语言。例如,如果用户在 /en/contact 并单击链接以更改为西班牙语,我希望重新加载同一页面,但使用西班牙语 /es/contacto 而不是重定向到主页,因此我需要在CurrentCulture 的不同文化允许更改语言并继续到同一页面。
谢谢你的帮助
orchardcms - AttributeRouting - 在程序集中获取路由的方法
我想将AttributeRouting与 Orchard CMS 一起使用。为此,我需要IRouteProvider
使用返回 Orchard 列表的方法来实现RouteDescriptor
。
我需要一种获取路线列表的方法,以便可以执行以下操作:
此方法来自 MvcRouting 但我想使用功能更丰富的AttributeRouting但找不到扫描当前程序集以查找路由属性的方法。需要一种 AttributeRouting 方法来返回我可以投射到 s 列表中RouteDescriptor
但实际上不注册它们的路由列表,将其留给 Orchard。
如果我想直接注册路由(在非 Orchard 项目中),我会使用以下 AttributeRouting 扩展方法:
但这不适用于其他 Orchard 模块。所以需要采取上面的方法。
你能想到什么办法吗?
asp.net-web-api - 请求的资源不支持 http 方法“PUT”
我将 AttributeRouting 与我的 Web API (MVC 4) 一起使用。
为什么这行得通?
而这个没有?
错误消息:请求的资源不支持 http 方法“PUT”。为什么我必须明确接受 PUT 动词?
我只是感到困惑,因为与 POST 类似的东西可以正常工作(我不必指定接受的动词):
从其他各种帖子中,我相信这与我的 web.config 中的设置有关。Web 服务器部分当前如下所示:
我尝试了一些方法,例如删除 WebDav 之类的。但到目前为止没有任何效果(除非在注释中明确允许 PUT 动词)。
哦,我正在使用 Visual Studios 内置的开发服务器。
多谢你们!
asp.net-mvc-4 - ASP.NET MVC 4 AttributeRouting Per-Route DelegatingHandler
我正在使用 nuget 包http://nuget.org/packages/AttributeRouting/并为我的 web api 指定了自定义路由。当我尝试在 WebApiConfig 中向我的路由添加自定义委托处理程序 (dh) 时,我的 dh 永远不会被调用。这是有道理的,因为 dh 被分配给默认路由,而不是分配给我用我的 web api 控制器装饰的自定义路由。我可以全局注册 dh 并执行它,但是,我想为每个路由注册自定义 dh(不同的路由需要做不同的事情,我不想将大量逻辑放入一个全局 dh)。
在使用 AttributeRouting 包时,有谁知道如何做到这一点?我已经搜索了网站上的文档,但没有找到任何东西。
任何帮助深表感谢。谢谢!
rest - 组合键资源 REST 服务
我在工作中遇到了一个问题,我找不到有关在 RESTful Web 服务中针对主键是其他资源 ID 组合的资源执行 CRUD 操作的常用标准或实践的信息。我们正在使用 MVC WebApi 创建控制器。例如,我们有三个表:
Product
: PK=产品编号Part
: PK=PartIdProductPartAssoc
: PK=(ProductId, PartId)
一个产品可以有很多部分,一个部分可以是很多产品的组成部分。关联表还包含与关联本身相关的附加信息,而不是需要可编辑的。
我们有ProductsController
和PartsController
类使用定义为的路由模板处理通常的 GET/PUT/POST/DELETE 操作:{controller}/{id}/{action}
这样以下 IRI 可以工作:
- GET,POST
/api/Products
- 返回所有产品,创建一个新产品 - GET,PUT,DELETE
/api/Products/1
- 检索/更新/删除产品 1 - GET,POST
/api/Parts
- 返回所有部分,创建一个新部分 - GET,PUT,DELETE
/api/Parts/2
- 检索/更新/删除第 2 部分 - GET
/api/Products/1/Parts
- 获取产品 1 的所有部件 - GET
/api/Parts/2/Products
- 获取第 2 部分是组件的所有产品
我遇到的问题是如何为 ProductPartAssoc 资源定义路由模板。获取关联数据的路由模板和 IRI 应该是什么样的?遵守惯例,我希望是这样的:
- GET,POST
/api/ProductPartAssoc
- 返回所有关联,创建关联 - GET,PUT,DELETE
/api/ProductPartAssoc/[1,2]
- 检索/更新/删除产品 1 和第 2 部分之间的关联
我的同事发现这在美学上令人不快,并且似乎认为完全没有ProductPartAssocController
课程会更好,而是ProductsController
向管理关联数据添加额外的方法:
- GET,PUT,DELETE
/api/Products/1/Parts/2
- 获取产品 1 和第 2 部分之间关联的数据,而不是作为第 1 部分的成员的第 2 部分的数据,这通常是基于其他示例(例如/Book/5/Chapter/3
我在其他地方看到的)的情况。 - POST 这里不知道他们期望 IRI 是什么样子。不幸的是,他们是决策者。
归根结底,我想我正在寻找的不是验证,就是我可以指出并说“看,这就是其他人所做的”的方向。
处理由复合键标识的资源的典型做法是什么?
c# - 使用 AttributeRouting 在 WebAPI 中指定默认控制器/操作路由
在使用 AttributeRouting 而不是 WebAPI 使用的默认 RouteConfiguration 时如何设置默认控制器。即去掉注释代码部分,因为这在使用 AttribteRouting 时是多余的
如果我评论上面的部分并尝试运行 webapi 应用程序,我会收到以下错误,因为没有定义默认的 Home 控制器/操作。 HTTP 错误 403.14 - 禁止 Web 服务器配置为不列出此目录的内容。
如何通过 Home 控制器/动作的属性路由指定路由?
编辑:代码示例:
c# - RouteArea 和 RoutePrefix 使用 AttributeRouting 有什么区别
所以我一直在使用http://attributerouting.net/并且喜欢它。但是,当我应该使用 RouteArea 或 RoutePrefix 或同时使用两者时,我似乎无法理解。
例如,我的想法是,对于 API 控制器,使用 RouteArea("api"),然后作为前缀可能使用控制器的主要功能?任何澄清都会有所帮助,谢谢!
.net - 如何配置 Web Api 以从 url 参数中选择响应格式?
我正在尝试配置 web api 区域以允许我传递可选的格式扩展名。这是我RegisterArea
的方法的代码:
现在,如果我去http://www.example.com/api/countries它工作正常,但是当我尝试http://www.example.com/api/countries.json给我
我究竟做错了什么?
asp.net-web-api - Http.EnumRouteContraint 必须实现 System.Web.Routing.IRouteConstraint
我在我的 Web API 项目中使用 AttributeRouting。我已经为 Web API 安装了 AttributeRouting。我想定义一个枚举路由约束,所以我设置了我的 AttributeRoutingHttpConfig 配置,如下所示:
当我启动我的应用程序时,我立即收到以下错误:
约束“AttributeRouting.Web.Http.Constraints.EnumRouteConstraint`1[[MyProject.Data.Models.ListType, MyProject.Data, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null]]”必须实现 System.Web。路由.IRouteConstraint
我查看了 AttributeRouting.Web.Http.Constraints.EnumRouteConstraint 的源代码,并确认它实现了 IHttpRouteConstraint,这大概是 MVC 命名空间中 IRouteConstraint 的 WebAPI 等效项。
有谁知道我做错了什么以及如何让它工作?
更新:
我试图创建一个完全空白的 Web 应用程序,并且只为 WebAPI 引用添加 WebAPI 和 AttributeRouting。尽管绝对没有对 MVC 程序集的引用,但我仍然收到相同的错误消息。然而,我确实发现在 AttributeRouting.Web.Constraints 命名空间中找到了另一个 EnumRouteConstraint,它工作得很好。它似乎不是 MVC 特定的,因为它位于 Core AttributeRouting 程序集中。我很想知道为什么只有一个有效的 EnumRouteConstraint 类有两个不同的类。但这是另一个问题。