gpt4 book ai didi

asp.net-mvc - URL 中的下划线不适用于属性路由

转载 作者:行者123 更新时间:2023-12-04 02:06:44 24 4
gpt4 key购买 nike

Visual Studio 2013 IDE 出现以下问题。部署到 IIS 时似乎可以正常工作。

我有一个如下所示的属性路由:

    [Route("SiteCode/{sites:alpha?}")] 

当我请求/SiteCode 时,它​​工作正常。当我包含一个参数(例如/SiteCode/something)时,它也能正常工作。然而,当 URL 是/SiteCode/some_thing 时,它找不到 Controller ,我收到 404。

这个在 SiteCodes 参数中使用下划线:

[Route("Performance/{CountryIDs?}/{StateIDs?}/{SiteCodes?}/{Titles?}/{StartDate:datetime?}/{EndDate:datetime?}")]

有什么想法吗?

最佳答案

根据 http://www.asp.net/web-api/overview/web-api-routing-and-actions/attribute-routing-in-web-api-2#constraints alpha 约束只匹配大写和小写的拉丁字符,下划线不是其中之一。

如果你想允许下划线,你可以使用以下约束:

regex(^[a-zA-Z_]+$)

关于asp.net-mvc - URL 中的下划线不适用于属性路由,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24394109/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com