LIMPAR SUJEIRA DO CÓDIGO FONTE

F001E 09/06/2015 16:03:13
#447556
Boa tarde a todos.
Existe uma maneira, por exemplo, se um determinado evento esta sendo usado no Projeto ?

Assim: tenho esse código em .aspx......

<asp:Button ID=[Ô]btnFiltrar[Ô] runat=[Ô]server[Ô] SkinID=[Ô]sknFiltrar[Ô]
OnClick=[Ô]btnFiltrar_Click[Ô] />


...onde o evento OnClick será criado no código fonte....

protected void btnFiltrar_Click(object sender, EventArgs e)
{
grvCotaGerenciamento.DataBind();
}


....vamos supor que eu apague o evento btnFiltrar_Click do código fonte e quando eu executar vai retornar esse erro...

Erro de Servidor no Aplicativo [ô]/[ô].

Erro de Compilação

Descrição: Erro ao compilar um recurso necessário para atender esta solicitação. Examine os detalhes específicos do erro e modifique o código fonte apropriadamente.

Mensagem de Erro do Compilador: CS1061: [ô]ASP.formularios_execucaofiscal_oficialjuizoedit_aspx[ô] não contém uma definição para [ô]btnFiltrar_Click[ô] e nenhum método de extensão [ô]btnFiltrar_Click[ô] aceita que um primeiro argumento de tipo [ô]ASP.formularios_execucaofiscal_oficialjuizoedit_aspx[ô] seja encontrado (você não está usando uma diretriz ou referência de assembly?)

Erro de Origem:


Linha 182: </td>
Linha 183: <td>
Linha 184: <asp:Button ID=[Ô]btnFiltrar[Ô] runat=[Ô]server[Ô] SkinID=[Ô]sknFiltrar[Ô]
Linha 185: OnClick=[Ô]btnFiltrar_Click[Ô] />
Linha 186: </td>
....

....perfeito, esse erro significa que precisa do evento OnClick, mas se for feito o contrário, apagar o evento OnClick do .aspx,

<asp:Button ID=[Ô]btnFiltrar[Ô] runat=[Ô]server[Ô] SkinID=[Ô]sknFiltrar[Ô]
OnClick=[Ô]btnFiltrar_Click[Ô] />


deixando assim...

<asp:Button ID=[Ô]btnFiltrar[Ô] runat=[Ô]server[Ô] SkinID=[Ô]sknFiltrar[Ô]/>


....e executar a aplicação não erro algum e fica o evento btnFiltrar_Click perdido lá no código fonte. Por isso queria saber se existe alguma forma de verificar isso, de saber se o evento esta sendo usado no projeto ou não...

Att;
TUNUSAT 09/06/2015 18:41:21
#447561
F001E,

Antes de VB.Net 2013 acho que não dava para achar estes [Ô]eventos órfãos[Ô], mas a partir e inclusive na versão 2013 é possível passar um [Ô]pente fino[Ô] em praticamente tudo para ver se quem está usando e também se não tem ninguém usando...
Foi o que eu mais pirei com o 2013 ... que me corrijam se eu estiver errado!

[][ô]s,
Tunusat.
KERPLUNK 10/06/2015 00:20:05
#447575
Veja bem a situação. Seu botão é um botão aninhado à um codebehind, ou seja, seu botão gera um postback e por isso você tem o erro, por estar aninhado à um postback. Você pode criar um método [Ô]WebMethod[Ô], que pode ser chamado via AJAX ao clicar no seu botão. Isso tornaria seu botão Client-only e não mais um objeto renderizado no servidor, o que aumentaria significativamente a performance da sua aplicação. Um método decorado com a tag [Ô]WebMethod[Ô], não está aninhado a nada, não gera postback e ainda pode ser chamado por qualquer elemento :HTML ou qualquer maneira possível de se acionar o AJAX. Mas nenhuma das duas maneiras é aconselhável de ser usada em uma aplicação nova, pois estão caindo em desuso e têm possibilidade até mesmo de serem deixados de fora em versões futuras do .NET Framework. Se está criando uma aplicação nova, ou iniciando os estudos com aplicações web, sugiro ir direto ao estudo de WebAPI.
F001E 10/06/2015 08:50:54
#447583
Citação:

Se está criando uma aplicação nova, ou iniciando os estudos com aplicações web, sugiro ir direto ao estudo de WebAPI.



Não é aplicação nova e também não é inicio de estudos. é uma solution com 11 projetos, um aplicação gigantesca que tem vários eventos orfãos e queria limpar isso. Mudar isso para ser chamado via AJAX....nem........ Botão é um dos exemplo pois tem..

protected void Grid_RowCommand(object sender, GridViewCommandEventArgs e)
{
}


protected void RadionButton_CheckedChanged(object sender, EventArgs e)
{
}


protected void TextBox_TextChanged(object sender, EventArgs e)
{
}


protected void DropDownList_SelectedIndexChanged(object sender, EventArgs e)
{
}


Citação:

....mas a partir e inclusive na versão 2013 é possível passar um [Ô]pente fino[Ô] em praticamente tudo para ver se quem está usando e também se não tem ninguém usando...



Como faz isso TUNUSAT ?
TUNUSAT 10/06/2015 09:39:47
#447584
F001E,

Somente se você está usando a versão 2013 ou superior.
Em cima de cada função aparece escrito, por exemplo: [Ô]47 referências[Ô] (não pertence ao código este [Ô]texto[Ô]).

Por favor, veja esta tela (amplie para ver melhor):
https://stephenhaunts.files.wordpress.com/2013/11/0-visual-studio-2013.png

Se você clicar no texto, mostra cada lugar que está sendo usado.
Se estiver [Ô]0 referências[Ô] então ninguém está usando.

[][ô]s,
Tunusat.
Tópico encerrado , respostas não são mais permitidas