Substituir if por foreach em CSharp asp.net
27/04/2015
0
Boa tarde Amigos,
Tenho o seguinte código que verifica quais os checkboxs estão marcados para efetuar determinadas tarefas de insert no banco :
O problema é que o código não está legal utilizando um if para cada verificação, pois se eu incluir 20, 30 checkboxs não será viável efetuar um if para cada um deles.
O que preciso fazer é substiruir os If´s por foreach ou algum outro laço para identificar quais os checkboxs estão marcados . Alguém tem alguma sujestão para me ajudar ?
Obs.: Esses checkboxes estão em um Panel que incluí no form.
Estou utilizando páginas asp.Net C#
Desde já, agradeço.
Tenho o seguinte código que verifica quais os checkboxs estão marcados para efetuar determinadas tarefas de insert no banco :
classeInsert c = new classeDeInsert(); //instancia da classe que possui o método de insert no banco //Faço a verificação em cada checkbox para saber se está marcado //Em cada checkbox marcado, chamo o método passando 3 parâmetros que são: //Login do usuário selecionado, código da aplicação que é o checkbox marcado e o perfil selecionado if (cbx1.Checked == true) { c.IncluiAcesso(ddlUsuario.SelectedItem.Value, "1", ddl1.SelectedItem.Value); } if (cbx2.Checked == true) { c.IncluiAcesso(ddlUsuario.SelectedItem.Value, "2", ddl2.SelectedItem.Value); } if (cbx3.Checked == true) { c.IncluiAcesso(ddlUsuario.SelectedItem.Value, "3", ddl3.SelectedItem.Value); } if (cbx4.Checked == true) { c.IncluiAcesso(ddlUsuario.SelectedItem.Value, "4", ddl4.SelectedItem.Value); } if (cbx5.Checked == true) { c.IncluiAcesso(ddlUsuario.SelectedItem.Value, "5", ddl5.SelectedItem.Value); }
O problema é que o código não está legal utilizando um if para cada verificação, pois se eu incluir 20, 30 checkboxs não será viável efetuar um if para cada um deles.
O que preciso fazer é substiruir os If´s por foreach ou algum outro laço para identificar quais os checkboxs estão marcados . Alguém tem alguma sujestão para me ajudar ?
Obs.: Esses checkboxes estão em um Panel que incluí no form.
Estou utilizando páginas asp.Net C#
Desde já, agradeço.
Luciano
Curtir tópico
+ 0
Responder
Posts
27/04/2015
Jothaz
O número sequencial deve corresponder ao check marcado?
Exemplo:
Ou pode ser assim:
Para adiantar acredito que a melhor solução é utilizar o controle CheckBoxList:
Construtor CheckBoxList
CheckBoxList control example
Exemplo:
if (cbx2.Checked == true) { c.IncluiAcesso(ddlUsuario.SelectedItem.Value, "2", ddl2.SelectedItem.Value); } if (cbx3.Checked == true) { c.IncluiAcesso(ddlUsuario.SelectedItem.Value, "3", ddl3.SelectedItem.Value); }
Ou pode ser assim:
if (cbx1.Checked == true) { c.IncluiAcesso(ddlUsuario.SelectedItem.Value, "1", ddl1.SelectedItem.Value); } if (cbx3.Checked == true) { c.IncluiAcesso(ddlUsuario.SelectedItem.Value, "2", ddl3.SelectedItem.Value); } if (cbx5.Checked == true) { c.IncluiAcesso(ddlUsuario.SelectedItem.Value, "3", ddl5.SelectedItem.Value); }
Para adiantar acredito que a melhor solução é utilizar o controle CheckBoxList:
Construtor CheckBoxList
CheckBoxList control example
Responder
Clique aqui para fazer login e interagir na Comunidade :)