为WebApi的布尔值绑定值1为true

时间:2015-03-10 00:35:51

标签: c# asp.net-web-api

我有一个PHP程序POSTING到C#MVC WebApi。 WebApi程序以:

开头
public async Task<IHttpActionResult> EmailExists(UsersEmailExistsBindingModel model)
{
    if (!ModelState.IsValid)
    {
        return BadRequest(ModelState);
    }
    /* remaining functionality */
}

绑定模型如下:

public class UsersEmailExistsBindingModel 
{
    [Required]
    public string UserId { get; set; }

    [Required]
    public string Email { get; set; }

    public bool Update { get; set; }
}

Update属性表示这是否适用于现有用户。即我们正在做更新吗?

当PHP发布请求时,它在表单内容中使用Update = 1,返回The value '1' is not valid for Update

如何指定绑定时布尔值的1和0应被接受为true和false的有效值?

1 个答案:

答案 0 :(得分:0)

你可以

  1. 添加一个short属性,然后使用bool属性包装short属性。

  2. 实施CustomValueProvider请参阅:How to map a 1 or 0 in an ASP.Net MVC route segment into a Boolean action method input parameter