Inquiridor
Como debugar para saber qual procedure ou tabela estão sendo executados com Asp.Net

Pergunta
-
<asp:HiddenField ID="hdfCdTipoUsuario" runat="server" Value='<%# Eval("CdTipoUsuario")%>' />
Esse é todo o repeater e a table:
<asp:Repeater ID="rptGerenciaProcessos" runat="server"
onitemcommand="rptGerenciaProcessos_ItemCommand"
onitemdatabound="rptGerenciaProcessos_ItemDataBound">
<HeaderTemplate>
<table id="gerenciaProcessos">
<thead>
<tr>
<th>Consultar processo</th>
<th>Priorizar</th>
<th>Priorizado</th>
<th>Nº do processo</th>
<th>Data de abertura</th>
<th>Início da análise</th>
<th>Término na análise</th>
<th>Situação</th>
<th>Grupo</th>
<th>Cota</th>
<th>Etapa</th>
<th>Analista</th>
</tr>
</thead>
</HeaderTemplate>
<ItemTemplate>
<tr>
<td>
<asp:Button ID="btnConsultarProcessos" OnClick="btnConsultarProcessos_Click" runat="server" Text="Consultar processo" CommandName="ConsultaProcessoGestor" CssClass="acessos" />
</td>
<td>
<asp:HiddenField ID="hdfCdProcesso" runat="server" Value='<%# Eval("CdProcesso")%>'/>
<asp:HiddenField ID="hdfCdAnalise" runat="server" Value='<%# Eval("CdAnalise")%>' />
<asp:HiddenField ID="hdfCdUsuario" runat="server" Value='<%# Eval("CdUsuarioAn")%>' />
<asp:HiddenField ID="hdfCdWorkFlowItem" runat="server" Value='<%# Eval("CdWorkFlowItem")%>' />
<asp:HiddenField ID="hdfCdTipoUsuario" runat="server" Value='<%# Eval("CdTipoUsuario")%>' />
<asp:LinkButton ID="lkbPriorizar" runat="server" CssClass="clickPriorizar">Priorizar</asp:LinkButton>
<!--<a href="#"class="clickPriorizar">Priorizar</a>-->
</td>
<td><input type="checkbox" id="ckbPriorizado" <%# Eval("IcPriorizado")%> disabled></td>
<td><asp:Label Text='<%# Eval("CdProcesso")%>' runat="server" /></td>
<td><asp:Label Text='<%# Eval("DtCriacao")%>' runat="server" /></td>
<td><asp:Label Text='<%# Eval("DtInicio")%>' runat="server" /></td>
<td><asp:Label Text='<%# Eval("DtFim")%>' runat="server" /></td>
<td><asp:Label Text='<%# Eval("NmWorkFlowItem")%>' runat="server" /></td>
<td><asp:Label Text='<%# Eval("CdGrupo")%>' runat="server" /></td>
<td><asp:Label Text='<%# Eval("CdCota")%>' runat="server" /></td>
<td><asp:Label Text='<%# Eval("NmTipoStatus")%>' runat="server" /></td>
<td><asp:Label Text='<%# Eval("NomeUsuario")%>' runat="server" /></td>
</tr>
</ItemTemplate>
<FooterTemplate>
</table>
</FooterTemplate>
</asp:Repeater>
A dificuldade está em saber como eu debugo a linha `...Eval("Meu_Campo")...`
Todas as Respostas
-
Boa tarde Pnet,
Seguinte, geralmente os valores são passados para o repeater no seguinte comando:
rptGerenciaProcessos.DataSource = "lista_de_dados_recebida_do_banco";
e o comando que faz com que os dados apareceção no repeater é o seguinte:
rptGerenciaProcessos.DataBind();
Como fazer para achar os dados:
caminho 1: Procure o seguinte trecho de código "rptGerenciaProcessos.DataSource = " no code-behind apertando Ctrl + F.
Quando localizar o trecho vc saberá qual lista está preenchendo o Repeater, com isso você precisa somente procurar no seu projeto de onde está vindo essa lista, ou seja, onde ela está sendo criada e preenchida.
caminho 2: abra o Management Studio na aba "Tools" clique na primeira opção "SQL Server Profile" irá abrir uma outra tela pedindo para você se conectar com o banco de dados, nesse momento conecte ao banco que sua aplicação está consumindo, após isso irá aparecer uma tela pra você clique aba "Events Selection" após isso marque as duas opções "Show all events" e "Show all column" e clique em Column Filters, irá aparecer uma tela chamada "Edit Filter", clique em "DatabaseName" ao lado direito clike em "like" no campo que irá aparecer digite o nome do banco de dados que está usando e aperte em "OK", na janela de trás aperte "Run" e irá aparecer uma lista... agora é simples, execute sua página novamente na aplicação para que o Repeater carregue novamente (sem nenhum break point).
Após executar a página e esperar ela carregar, a lista do profile estará apresentará todas as procedures executadas pela página para carregar, basta verificar qual procedure corresponde ao que você está procurando.
Vídeo Como utilizar o SQL Server Profile: https://www.youtube.com/watch?v=mJ8Dyv4Uk6E
Tutorial Step by Step: http://www.codeproject.com/Articles/21371/SQL-Server-Profiler-Step-by-Step
Geralmente é isso que eu faço.
Espero ter ajudado!
- Sugerido como Resposta Murilo Neandro segunda-feira, 15 de dezembro de 2014 18:23