1

我有以下代码:

    protected IEnumerable<string> GetErrorsFromModelState() {
        var errors = ModelState
         .SelectMany(x => x.Value.Errors.Select(error => error.ErrorMessage)
         .Union(x.Value.Errors.Select(error => error.Exception.Message)));
        return errors;
    }

它可以工作,但是当有“”的 ErrorMessage 条目时,它会将其添加到字符串列表中。有没有办法让它只选择 ErrorMessages 如果它们不是 "" ?

4

1 回答 1

0

尝试检查空字符串,如果它为空或为空,则丢弃选择和投影。

 protected IEnumerable<string> GetErrorsFromModelState() {
        var errors = ModelState
         .SelectMany(x => x.Value.Errors.Where(error=>!String.IsNullOrEmpty(error.ErrorMessage)).Select(error => error.ErrorMessage)
         .Union(x.Value.Errors.Where(error=>!String.IsNullOrEmpty(error.ErrorMessage)).Select(error => error.Exception.Message)));
        return errors;
    }
于 2012-08-26T09:07:37.947 回答