Pergunta

I Want to obtain something like this:

' myKey: errorMessage '

Now i've a list with all the ModelState errors:

List<String> modelStateErrors2 = ModelState.Keys.SelectMany(key => this.ModelState[key].Errors).Select(x => x.ErrorMessage).ToList();

But need to add the key in the begin of the string.

It is possible?

Foi útil?

Solução

You need to move the Select() inside the SelectMany() so it can close over the key:

ModelState.Keys.SelectMany(key => this.ModelState[key].Errors.Select(x => key + ": " + x.ErrorMessage));

This would be simpler as a query comprehension:

from kvp in ModelState
from e in kvp.Value.Errors
select kvp.Key + ": " + e.ErrorMessage
Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top