可能是由于模型验证未通过而无法进入if语句。可以尝试以编程方式查看模型验证的错误,以便找到并解决问题。以下示例演示如何输出模型验证错误:
[HttpPost]
public IActionResult MyAction(MyModel model)
{
if (!ModelState.IsValid)
{
var errors = ModelState.Where(x => x.Value.Errors.Count > 0)
.Select(x => new { x.Key, x.Value.Errors })
.ToArray();
foreach (var error in errors)
{
foreach (var subError in error.Errors)
{
var errorMessage = subError.ErrorMessage;
var exception = subError.Exception;
var attemptedValue = subError.AttemptedValue;
// 输出错误信息
}
}
// 返回错误信息
return BadRequest(ModelState);
}
// 模型验证通过,继续执行
// ...
}