Skip to content

Commit 302e218

Browse files
committed
修复ArrayModelBinder的BUG
1 parent 64f44af commit 302e218

File tree

2 files changed

+6
-6
lines changed

2 files changed

+6
-6
lines changed

Routine/Routine.APi/Controllers/CompanyCollectionsController.cs

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -34,12 +34,12 @@ public async Task<IActionResult> GetCompanyCollection([FromRoute]
3434
{
3535
return BadRequest();
3636
}
37+
3738
var entities = await _companyRepository.GetCompaniesAsync(ids);
38-
//这个写法有 BUG,ids.Count() 返回的居然是字符串长度
39-
//if (ids.Count() != entities.Count())
40-
//{
41-
// return NotFound();
42-
//}
39+
if (ids.Count() != entities.Count())
40+
{
41+
return NotFound();
42+
}
4343
var dtosToReturn = _mapper.Map<IEnumerable<CompanyDto>>(entities);
4444
return Ok(dtosToReturn);
4545
}

Routine/Routine.APi/Helpers/ArrayModelBinder.cs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -33,7 +33,7 @@ public Task BindModelAsync(ModelBindingContext bindingContext)
3333
var converter = TypeDescriptor.GetConverter(elementType);
3434
var values = value.Split(new[] { "," }, StringSplitOptions.RemoveEmptyEntries)
3535
.Select(x => converter.ConvertFromString(x.Trim())).ToArray();
36-
var typedValues = Array.CreateInstance(elementType, value.Length);
36+
var typedValues = Array.CreateInstance(elementType, values.Length);
3737
values.CopyTo(typedValues, 0);
3838
bindingContext.Model = typedValues;
3939
bindingContext.Result = ModelBindingResult.Success(bindingContext.Model);

0 commit comments

Comments
 (0)