[Resolvido] RaddioButtonList via código
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 SubDiscussão (4)
Carregando comentários...