问题标签 [routeattribute]

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.

0 投票
2 回答
479 浏览

asp.net - ASP.NET MVC 控制器 - 500Error

为什么我的控制器函数没有被调用?我总是得到 500error(在提琴手中)。我在 Visual Studio 或错误站点中没有收到任何错误。

控制器:

客户:

0 投票
2 回答
7758 浏览

asp.net-web-api - WebApi2 属性路由 404

我将现有的 MVC4/WebAPI1 项目升级到 Visual Studio 2012 中的 MVC5/WebAPI2,如此处所述。该网站按预期工作。然后我按照此处找到的基于属性的路由的说明进行操作- 除了我不断为控制器获取 404。我的步骤是:

  • 添加 config.MapHttpAttributeRoutes(); 在 WebApiConfig.Register
  • 添加 config.EnsureInitialized(); 在 WebApiConfig.Register
  • 从 NuGet 添加 AttributeRouting (ASP.NET WebAPI)
  • 在我的测试控制器上添加 Route 属性

当我在 config.EnsureInitialized() 之后休息时,我看到测试路线正在注册。但是,尝试走那条路线会给我一个 404。

如果有任何开箱即用的方法来检查请求并查看路由表是如何匹配的?

0 投票
3 回答
2028 浏览

c# - RedirectToAction 生成错误的 url(querystring 参数而不是 routedata 参数)

我在我的项目中使用 RouteAttributes,它们工作正常,但在这种情况下除外:我有两个类似的操作,一个接受两个 int 参数,另一个只接受一个。

第一个接受两个参数并使用它们加载一个对象并将其传递给视图;第二个只是试图找到第二个变量的默认值,并重定向到第一个动作,传递两个变量。

问题是ActionResultExample(int idVar1),我希望被重定向到ControllerExample/Edit/idVar1/Brands/idVar2;但是我被重定向到ControllerExample/Edit/idVar1/Brands?idVar2=idVar2. 当然,这会产生一个无限重定向循环。

这是示例代码:

0 投票
2 回答
75 浏览

c# - 如何在 Web API 属性路由中同时支持“常规”和“可读”url?

我有启用属性路由的 ASP.NET Web API 2.1 项目,并且控制器操作装饰如下:

其中 BarcodeSearchCriteria 是一个复杂类型:

它适用于这样的“常规”网址:

但如何同时支持这样的网址:

在切换到“可读”模式之前,我曾经在我的 *.webtest 中使用它。

0 投票
1 回答
241 浏览

asp.net-mvc - asp mvc 5 属性路由未触发

我正在尝试在新项目中使用属性路由,但无法使其正常工作。

这是我到目前为止所拥有的:

这是我的 RouteConfig.cs :

如果我删除路由属性并取消注释我的 RouteConfig.cs 中的第一条路由,它可以正常工作,但我想坚持使用路由属性。

知道为什么它不能正常工作吗?

我要使用的 URL 是:http ://www.mydomain.com/Product/12345/ProductName

编辑,这是我的 Application_Start()

0 投票
0 回答
64 浏览

asp.net - ASP MVC 内部化链接 - 更改语言链接

我有一些本地化路线。为此,我用 asp mvc route 属性标记我的路线,然后我为每种语言克隆它们,并使用翻译值和语言数据令牌和检查文化/语言的约束。

例如

foo.com/en/search可以用西班牙语显示为 foo.com/es/búsqueda 每个生成的路由都有一个语言数据标记“语言”。在这种情况下,值为“es”

现在我想创建“ChangeLanguage”链接。每种语言都有一个链接。我想保留整个路线数据。因此,当我在 foo.com/en/search 上单击“西班牙语”时,我想最终进入foo.com/es/búsqueda。如果有 url 参数,它们也应该被保留。

从 RouteContext 我得到带有路由值和数据令牌的当前 RouteData。但是 Url.Action 类只包含重载来传递路由数据而不是数据令牌。

如何正确创建链接?或者我怎样才能找到其他语言的等价路线?

0 投票
1 回答
297 浏览

asp.net-mvc - 带后缀的自定义属性路由

我想像这样创建我的网址:

在我的 ContentControler 之上,我使用:

在我的索引操作之上,我使用:

但是当我请求这个 url 时会发生这个错误:

我该如何解决这个问题?感谢帮助

0 投票
2 回答
18786 浏览

asp.net-web-api - 路由模板不能以 '/' 或 > '~' 字符开头,并且不能包含 '?' 特点

我收到以下路由属性的异常:

例外:

System.Web.Http.dll 中出现“System.ArgumentException”类型的异常,但未在用户代码中处理

附加信息:路由模板不能以“/”或“~”字符开头,并且不能包含“?” 特点。

为什么不允许这样做?

0 投票
1 回答
1443 浏览

c# - 在控制器上找不到带有空 RoutePrefix 的路由

我在这里有某人的代码,但我最不理解控制器上的“空”RoutePrefix。

我这样在浏览器中调用 url:

http://localhost/TestService/TestAccess/FindProducts/de/2/product/5

我得到这个控制器 + 动作的 404:

那是路线设置:

我必须在浏览器 url 栏中输入什么路由才能触发我的 FindProducts 端点而不更改现有代码?

0 投票
1 回答
122 浏览

asp.net-web-api - Route 不是使用 Attribute Routing 和 FromUri 触发的

我想用这个 url 触发下面的路由:

我的 - 我猜 - Route 属性有什么问题?