Solucionado (ver solução)
Solucionado
(ver solução)
2
respostas

Busca por informações no estágio Model Binding

De acordo com o enunciado do exercício, quando uma requisição com a rota Livros/Incluir for solicitada, antes de chamar o método Incluir() o estágio de Model Binding irá procurar por informações referentes a um livro (título e autor) em três fontes: no formulário, na rota e na query string.

No caso do formulário, ele busca as informações levando em consideração o nome colocado no atributo name da tag input?

Exemplo:

<input name="autor" />

Sendo assim teria que nomeá-los com os mesmos nomes dos atributos da classe, para que o as informações sejam coletadas corretamente?

A busca nessas três fontes é o padrão, independente do método utilizado para enviar as informações do formulário?

2 respostas
solução!

Issac, boa tarde. Vamos às respostas.

No formulário, o Model Binding busca as informações levando em consideração o nome colocado no atributo name da tag input?

Isso aí. E justamente por isso que os nomes precisam ser iguais aos atributos da classe, respondendo sua segunda pergunta.

A busca nessas três fontes é o padrão, independente do método utilizado para enviar as informações do formulário?

Se o método for POST o Model Binding vai recuperar as informações do formulário. Se for GET, da query string. Não tenho certeza se mesmo assim ele continua consultando as três fontes, mas você pode direcionar o Model Binding para pegar de uma dessas fontes usando os atributos [FromQuery], [FromForm] e [FromRoute].

Mais informações sobre o Model Binding, configuração e customização aqui.

Espero ter ajudado.

Obrigado Daniel, ajudou demais.