Ir para conteúdo

POWERED BY:

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

cintiadel

[Resolvido] RaddioButtonList via código

Recommended Posts

Estou populando o raddiobuttonlist via código, mas quando seleciono o raddiobutton ele deveria exibir uma panel com as descrições do serviço, mas está dando erro:

 

Referência de objeto não definida para uma instância de um objeto.

Descrição: Ocorreu uma exceção não tratada durante a execução da atual solicitação da Web. Examine o rastreamento de pilha para obter mais informações sobre o erro e onde foi originado no código.

 

Detalhes da Exceção: System.NullReferenceException: Referência de objeto não definida para uma instância de um objeto.

 

Erro de Origem:

 

Linha 44:

Linha 45: Session("cod_serv") = rbl_protocolo.SelectedValue

Linha 46: Session("serv") = rbl_protocolo.SelectedItem.Text

Linha 47:

 

<asp:RadioButtonList ID="rbl_protocolo" runat="server">
            	</asp:RadioButtonList>
            	<asp:RequiredFieldValidator ID="rfv_protocolo" runat="server" 
                	ControlToValidate="rbl_protocolo" ErrorMessage="* Escolha o documento desejado" 
                	Font-Bold="False" ForeColor="" ValidationGroup="Gerar" 
                	style="color: #CC0000; font-weight: 700">
            	</asp:RequiredFieldValidator>

<asp:Panel ID="pnl_historico" runat="server" BackColor="#ECF1F5" 
                	Visible="False">
                	 

                	  <asp:Label ID="lbl_selecione5" runat="server" Font-Bold="False" 
                    	style="text-align: left; font-weight: 700;" Visible="False">
 						Para o consulado:</asp:Label><asp:RadioButtonList ID="rbl_historico" 
                    	runat="server" AutoPostBack="True" RepeatDirection="Horizontal" 
                    	style="color: #000000; " Visible="False">
                    	<asp:ListItem Value="1">Sim</asp:ListItem>
                    	<asp:ListItem Value="2">Não</asp:ListItem>
                	</asp:RadioButtonList>
                	  
                	  <asp:RequiredFieldValidator ID="rfv_historico" runat="server" 
                    	ControlToValidate="rbl_historico" 
                    	ErrorMessage="* É preciso selecionar uma opção." Font-Bold="False" 
                    	ForeColor="" ValidationGroup="Gerar" 
                    	style="font-weight: 700; color: #CC0000;">
   				</asp:RequiredFieldValidator>
                	

            	</asp:Panel>

<asp:SqlDataSource ID="sqlProtocolo" runat="server" 
                	ConnectionString="<%$ ConnectionStrings:conexao %>" 
                	SelectCommand="SELECT [id], valor, servico as serv, dt_inicio, dt_limite FROM [tabela] where situacao='S' and (dt_inicio<=getdate() and dt_limite >= getdate()) order by servico">
            	</asp:SqlDataSource>
            	<asp:SqlDataSource ID="sqlProtocoloegr" runat="server" 
                	ConnectionString="<%$ ConnectionStrings:conexao %>" 
                	SelectCommand="SELECT [id], valor, servico as serv, dt_inicio, dt_limite FROM [tabela] where situacao='S' and (dt_inicio<=getdate() and dt_limite >= getdate()) and egresso='true' order by servico">
            	</asp:SqlDataSource>


Protected Sub Page_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load

    	If Session("aass") = "20101" Then
        	rbl_protocolo.DataSource = sqlProtocolo
        	rbl_protocolo.DataTextField = "serv"
        	rbl_protocolo.DataValueField = "id"
        	rbl_protocolo.AutoPostBack = "True"
        	rbl_protocolo.DataBind()
    	Else
        	rbl_protocolo.DataSource = sqlProtocoloegr
        	rbl_protocolo.DataTextField = "serv"
        	rbl_protocolo.DataValueField = "id"
        	rbl_protocolo.AutoPostBack = "True"
        	rbl_protocolo.DataBind()
    	End If


	End Sub

Protected Sub rbl_protocolo_SelectedIndexChanged(ByVal sender As Object, ByVal e As System.EventArgs) Handles rbl_protocolo.SelectedIndexChanged

    	Session("cod_serv") = rbl_protocolo.SelectedValue
    	Session("serv") = rbl_protocolo.SelectedItem.Text

    	Dim conexao As New Data.SqlClient.SqlConnection("conexao")
    	Dim comando As New Data.SqlClient.SqlCommand
    	Dim serv As Data.SqlClient.SqlDataReader

    	conexao.Open()
    	comando.Connection = conexao
    	comando.CommandText = "Select servico, descricao, valor from tabela where id=@cod_serv"
    	With comando.Parameters
        	.Add(New Data.SqlClient.SqlParameter("@cod_serv", Session("cod_serv")))
    	End With
    	serv = comando.ExecuteReader()
    	serv.Read()

    	Session("servico") = serv("servico")
    	Session("valor") = serv("valor")


    	If rbl_protocolo.SelectedValue = 8 Then
        	lbl_selecione5.Visible = True
        	pnl_historico.Visible = True
        	rbl_historico.Visible = True
    	Else
        	lbl_selecione5.Visible = False
        	pnl_historico.Visible = False
        	rbl_historico.Visible = False
    	End If

    	
	End Sub

Compartilhar este post


Link para o post
Compartilhar em outros sites

Você esta enganada, o código esta assim:

 

<asp:RadioButtonList ID="rbl_protocolo" runat="server">
                </asp:RadioButtonList>

Onde esta o AutoPostBack ??

 

Abraços...

 

 

No load da página onde populo o raddiobuttonlist.

Mas já descobri o que é, no load da página eu coloquei

 

If Not Page.IsPostBack Then

 

e agora tah funcionando, valeu

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.