C# Asp.net Webapi使用具有两个参数的路由的[FromUri]

C# Asp.net Webapi使用具有两个参数的路由的[FromUri],c#,asp.net-web-api,asp.net-web-api-routing,C#,Asp.net Web Api,Asp.net Web Api Routing,从客户端发送以下请求时,StreetID始终为0 但是它在没有任何可选参数的情况下工作 我应该如何配置webapi以能够读取[Fromuri]调用Street/34/23295?MunZone=7&StartDate=&EndDate=,我的控制器定义为: [Route("Street/{ZoneID}/{StreetID}/")] public HttpResponseMessage GetStreet(int ZoneID,int StreetID,[FromUri]

从客户端发送以下请求时,StreetID始终为0

但是它在没有任何可选参数的情况下工作


我应该如何配置webapi以能够读取[Fromuri]

调用
Street/34/23295?MunZone=7&StartDate=&EndDate=
,我的控制器定义为:

   [Route("Street/{ZoneID}/{StreetID}/")]
    public HttpResponseMessage GetStreet(int ZoneID,int StreetID,[FromUri]       RealEstateFilter Filter)
给出:

当我将RealEstateFilter定义为:

public class SomeController : ApiController
{
    [Route("Street/{ZoneID}/{StreetID}/")]
    public HttpResponseMessage GetStreet(int ZoneID, int StreetID, [FromUri] RealEstateFilter Filter)
    {
        return null;
    }
我的web.api版本是:

public class RealEstateFilter
{
    public int? MunZone { get; set; }
    public DateTime? StartDate { get; set; }
    public DateTime? EndDate { get; set; }
}


我从头开始创建了我的Web.Api项目,这是其中唯一的东西。您是否可能有其他线路在干扰?

呼叫
Street/34/23295?MunZone=7&StartDate=&EndDate=
,我的控制器定义为:

   [Route("Street/{ZoneID}/{StreetID}/")]
    public HttpResponseMessage GetStreet(int ZoneID,int StreetID,[FromUri]       RealEstateFilter Filter)
给出:

当我将RealEstateFilter定义为:

public class SomeController : ApiController
{
    [Route("Street/{ZoneID}/{StreetID}/")]
    public HttpResponseMessage GetStreet(int ZoneID, int StreetID, [FromUri] RealEstateFilter Filter)
    {
        return null;
    }
我的web.api版本是:

public class RealEstateFilter
{
    public int? MunZone { get; set; }
    public DateTime? StartDate { get; set; }
    public DateTime? EndDate { get; set; }
}


我从头开始创建了我的Web.Api项目,这是其中唯一的东西。你有没有可能有其他的路线在干扰你?

我也试过[route(“Street/{ZoneID}/{streeted}”)]你能发一封邮件吗?这对我来说是可行的,我对
RealEstateFilter
做了一些假设,我在下面发布了这些假设。谢谢。我也试过了[Route(“Street/{ZoneID}/{streeted}]),你能帮我发一封邮件吗?这对我来说是可行的,我对
RealEstateFilter
做了一些假设,我在下面发布了这些假设。谢谢不干扰其他路由,因为它击中控制器中的断点。您可以分享一个更完整的示例。e、 在github?谢谢你NikolaiDante。我发现了问题,查询字符串的末尾有一个参数StreetID,因此它总是绑定到路由中的StreetID,而不是url中的StreetID。我的查询字符串是Street/34/23295?MunZone=7&StartDate=&EndDate=&StreetID=,我从querystring中删除了StreetID。抱歉耽误您的时间,谢谢您的回答。不干扰其他路由,因为它击中控制器中的断点。您可以分享一个更完整的示例。e、 在github?谢谢你NikolaiDante。我发现了问题,查询字符串的末尾有一个参数StreetID,因此它总是绑定到路由中的StreetID,而不是url中的StreetID。我的查询字符串是Street/34/23295?MunZone=7&StartDate=&EndDate=&StreetID=,我从querystring中删除了StreetID。抱歉耽误您的时间,谢谢您的回答。