Usuário com melhor resposta
Atualizar Grid em uma PartialView

Pergunta
-
Boa tarde,
Tenho uma View que carrega uma PartialView com um webGrid, na View eu tenho uma caixa de texto e um botão para pesquisa de produtos, na PartialView uma Grid com a listagem de produtos. Eu preciso que quando for pesquisado algo a Grid seja atualizada com os dados retornados do banco. Isso deveria ser feito com Ajax? Alguem tem algum exemplo pra eu dar um olhada. Obrigado.
Respostas
-
Alan blz cara. Acho que a melhor solução é realmente a utilização de Ajax.
Tenta essa link aqui creio que a sua solução está nele: http://diretonocodigo.blogspot.com.br/2011/11/grid-via-ajax-no-aspnet-mvc.html
Espero que ajude. Abraço.
- Marcado como Resposta Alan F. Almeida quinta-feira, 30 de janeiro de 2014 13:26
-
Olá, acho que na sua situação o ideal seria, sempre gerar o grid vazio e carrega-lo com ajax. A cada pesquisa feita, recarregar o grid com ajax. Para isso, primeiro você precisa ter Actions que retornando os dados na forma de Json, exemplo:
public ActionResult Dados() { var dados = from t in context.Coisas select new { Nome = t.Nome, Id = t.Id }; return Json(dados, JsonRequestBehavior.AllowGet); }
A parte java script deve ser um método, que acessa o action, faz um iteração no resultado e converte em <tr><td>, após isso basta adicionar estes <tr> td> em sua <table> (que seria o grid). Existem algumas ferramentas que te auxiliam para fazer este processo.
Ao infinito e além!
- Marcado como Resposta Alan F. Almeida quinta-feira, 30 de janeiro de 2014 13:26
Todas as Respostas
-
Alan,
É tranquilo, primeiro, altere seu método de consulta para um método privado e chame no momento que quiser que a consulta atualize.
caso deseje fazer de outra forma, inclua isto em seu código:
<asp:SqlDataSource ID="MasterDetail" ... EnableCaching="True"
Tente fazer a atualização para o botão que foi acionado:
protected void ConsultarBanco_Click(object sender, EventArgs e) { MasterDetail.EnableCaching = false; GridView1.DataBind(); MasterDetail.EnableCaching = true; }
Segue link
http://stackoverflow.com/questions/15274928/refresh-gridview-after-update
-
Alexandre, obrigado pela sua resposta mas eu não entendi, para trabalhar com WebGrid eu faço um List<Produtos> e passo para a View, não sei se desse jeito é a melhor forma mas é assim que faço. Outra informação, eu estão utilizando ASP.Net MVC 3 com razor.
-
Alan blz cara. Acho que a melhor solução é realmente a utilização de Ajax.
Tenta essa link aqui creio que a sua solução está nele: http://diretonocodigo.blogspot.com.br/2011/11/grid-via-ajax-no-aspnet-mvc.html
Espero que ajude. Abraço.
- Marcado como Resposta Alan F. Almeida quinta-feira, 30 de janeiro de 2014 13:26
-
Olá, acho que na sua situação o ideal seria, sempre gerar o grid vazio e carrega-lo com ajax. A cada pesquisa feita, recarregar o grid com ajax. Para isso, primeiro você precisa ter Actions que retornando os dados na forma de Json, exemplo:
public ActionResult Dados() { var dados = from t in context.Coisas select new { Nome = t.Nome, Id = t.Id }; return Json(dados, JsonRequestBehavior.AllowGet); }
A parte java script deve ser um método, que acessa o action, faz um iteração no resultado e converte em <tr><td>, após isso basta adicionar estes <tr> td> em sua <table> (que seria o grid). Existem algumas ferramentas que te auxiliam para fazer este processo.
Ao infinito e além!
- Marcado como Resposta Alan F. Almeida quinta-feira, 30 de janeiro de 2014 13:26
-