Erro NullReferenceException em ASP.NET com C # - Tentando erro Handle
-
21-08-2019 - |
Pergunta
Eu tenho um ASP.NET webform que, além de outros controles, tem uma caixa de texto para inserir um valor, uma caixa de texto para valores de exibição, um dropdownlistbox, e um botão de pesquisa. Eu estou usando o código a seguir para os resultados de pesquisa de exibição:
if (TextBox3.text == DropDownList3.Items.FindByText(TextBox3.Text).Value)
{
etc...
}
O DDL3 obtém seus valores a partir de um DataTable, e o valor inserido em TextBox3 deve corresponder a um dos valores DDL3 para exibir os resultados da pesquisa após o botão de busca é clicado. O erro NullReferenceException ocorre quando o valor TextBox3 é nulo ou não corresponde a nenhum valor em DDL3. Esta é razoável; no entanto, passei algumas horas tentando lidar com esse erro e eu não consigo descobrir como fazê-lo. Tentei adicionar mais "se" declarações, tais como "se TextBox3 == null, etc ...;. No entanto, sem sucesso Como devo mudar o acima if para compensar um valor nulo ou um valor errado?
Obrigado,
DFM
Solução
Tente usar um try ... catch nessa exceção:
try {
TextBox3.text = DropDownList3.Items.FindByText(TextBox3.Text).Value
} catch (NullReferenceException ex) {
TextBox3.text = "(none)";
}
Outras dicas
Você deve verificar para ver se o item existe na lista antes de verificar o seu valor.
if (DropDownList3.Items.FindByText(TextBox3.Text) != null)
{
// ...
}