Como faríamos para receber os dados no controller caso não usássemos AJAX? Caso tenhamos um form simples com os inputs com name?
Como faríamos para receber os dados no controller caso não usássemos AJAX? Caso tenhamos um form simples com os inputs com name?
Olá Diogo,
sim, ao invés de um ajax você pode fazer um formulário mesmo que dispara a requisição. No fundo o ajax ou o form ambos disparam uma requisição para o servidor. A diferença é que no caso de um
ou um , a própria página/navegador que dispara a requisição e, consequentemente , ele aguarda como resposta uma nova página para recarregar toda a tela. Já no caso do ajax, como ele dispara e recebe a resposta (por exemplo um json) a página se mantêm a mesma dado que quem fará o comportamento será o próprio javascript.Olá Diogo,
o ASP.NET MVC consegue pegar as informações do seu formulário a partir do atributo name
dos inputs e relacionar lá no seu controlador.
Por exemplo, se você tem um formulário
<form action="/Admin/Post/Novo" method="post">
<input name="Titulo"/>
<input name="Resumo"/>
<button type="submit">Novo</button>
</form>
você pode receber essas informações no controlador com o seguinte código:
[HttpPost]
public ActionResult Novo(String titulo, String resumo)
{
...
}
mas para tornar a sua vida mais fácil, o MVC faz o relacionamento automático com um modelo já existente, como no exemplo abaixo:
public class Post
{
public string Titulo { get; set; }
public string Resumo { get; set; }
}
[HttpPost]
public ActionResult Novo(Post post)
{
...
}
onde essa variável post
já vai ter seu Titulo e Resumo setados automaticamente.
Oi Lucas, isso eu sei, minha dúvida não era essa, devo ter me expressado mal, mas obrigado. O Alessandro respondeu a minha pergunta, mas acho que o mesmo se equivocou no uso do atributo "data" mencionado, pois no exemplo é usado "name" .
Isso, Diogo, é name
mesmo. Vou editar no post, obrigado!