首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >访问asp.net web 2 url路由属性时未找到

访问asp.net web 2 url路由属性时未找到
EN

Stack Overflow用户
提问于 2014-01-18 17:47:06
回答 2查看 1.8K关注 0票数 1

我在Web 2中使用asp.net MVC 5,我正在测试新的属性路由,这看起来很简单。我遵循了msdn入门链接,但仍然无法获得一些非常简单的设置。

在API配置文件中:

代码语言:javascript
复制
public static class WebApiConfig
{
    public static void Register(HttpConfiguration config)
    {
        // Web API configuration and services

        // Web API routes
        config.MapHttpAttributeRoutes();

        config.Routes.MapHttpRoute(
            name: "DefaultApi",
            routeTemplate: "api/{controller}/{id}",
            defaults: new { id = RouteParameter.Optional }
        );
    }
}

在api控制器中:

代码语言:javascript
复制
public class RecruitingController : ApiController
{
    ...snip...
    [Route("Recruiting/countries/all/")]
    [ResponseType(typeof(List<Country>))]
    public async Task<IHttpActionResult> GetCountries()
    {
        var countries = ctx.Countries.ToList();
        if (countries.Count == 0)
        {
            return NotFound();
        }

        return Ok(countries);
    }

}

在我看来,我是通过ajax调用路由。在工具中,它正在尝试实现以下路线:

代码语言:javascript
复制
http://localhost:43736/api/Recruiting/countries/all/ 

我得到了404的回复。

我在哪里搞错了语法?我有这样的ajax调用:

代码语言:javascript
复制
$.getJSON(apiBaseUrl + "/countries/all/", function (data) {
    $.each(data, function () {
        var dropdownCountry = new DropdownCountry();
        $.each(this, function (k, v) {
            if (k === "Name") {
                dropdownCountry.name = v;
            }
            if (k === "Key") {
                dropdownCountry.key = v;
            } 
        });
        self.orgCountryDdl.push(dropdownCountry);

    });
    alert(DropdownCountry());
});

apiBaseUrl是“api/recruiting”

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2014-01-18 17:54:15

您似乎在使用请求中的常规路由,url...your请求url应该像http://localhost:43736/Recruiting/countries/all/...note那样,即匹配常规路由的请求永远无法到达属性化控制器/操作。

票数 3
EN

Stack Overflow用户

发布于 2014-01-19 02:02:11

您也可以在类级别添加API基本URL属性。

然后,在类级别上构建所有方法属性。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/21207633

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档