ACESSAR VARIAVEL ASP.NET
Num bloco de declaração de código, declaro uma variável chamda minhaVariavel. Por exemplo:
Se tento referenciar ela em um bloco de geração de código, da erro (variavel não declarada).
Compreendo que isso acontece, pois o bloco de declaração e compilado, e o bloco de geração, não. Como contornar isso? Como utilizar uma variável contida num bloco de declaração de codigo em um bloco de geração (<%=...%>) ?
<script language=[Ô]VB[Ô] runat=[Ô]server[Ô]>
Sub Page_Load(sender As Object, e As EventArgs)
Dim minhaVariavel As String
Dim objCmd As New MySQLCommand ([Ô]SELECT * FROM flags WHERE ID=1[Ô], conn)
[ô]bla bla bla...
End Sub
</script>
Se tento referenciar ela em um bloco de geração de código, da erro (variavel não declarada).
<%=minhaVariavel%>
Compreendo que isso acontece, pois o bloco de declaração e compilado, e o bloco de geração, não. Como contornar isso? Como utilizar uma variável contida num bloco de declaração de codigo em um bloco de geração (<%=...%>) ?
Declare a variável no contexto público da página.
Protected minhaVariavel As String = String.Empty
Protected Sub Page_Load(ByVal sender As Object, ByVal e As EventArgs)
minhaVariavel = [Ô]Valor inicial[Ô]
End Sub
Neste contexto deu certo. Agora, suponhamos que
Colocando, posteriormente, <p><%=Teste%></p>, dará um erro: BC30451: Nome [ô]Teste[ô] não está declarado.
Mudando o código,
terei o seguinte erro na linha [txt-color=#e80000]Teste = [Ô]Teste[Ô][/txt-color]: BC30469: Referência a um membro não compartilhado requer referência de objeto.
Como eu faria para herdar as variáveis declaradas no contexto público da página, numa classe contida dentro deste contexto?
<script language=[Ô]VB[Ô] runat=[Ô]server[Ô]>
Public Class Start
Protected Teste As String = String.Empty
Protected Sub Page_Load(sender As Object, e As EventArgs)
Teste = [Ô]Teste[Ô]
End Sub
End Class
</script>
Colocando, posteriormente, <p><%=Teste%></p>, dará um erro: BC30451: Nome [ô]Teste[ô] não está declarado.
Mudando o código,
<script language=[Ô]VB[Ô] runat=[Ô]server[Ô]>
Protected Teste As String = String.Empty
Public Class Start
Protected Sub Page_Load(sender As Object, e As EventArgs)
Teste = [Ô]Teste[Ô]
End Sub
End Class
</script>
terei o seguinte erro na linha [txt-color=#e80000]Teste = [Ô]Teste[Ô][/txt-color]: BC30469: Referência a um membro não compartilhado requer referência de objeto.
Como eu faria para herdar as variáveis declaradas no contexto público da página, numa classe contida dentro deste contexto?
A variável está fora da classe, vc deveria se referir a ela como Start.Teste:
<p><%= Start.Teste %></p>
<p><%= Start.Teste %></p>
Se a variável está fora da classe, não tem como eu a referenciar por Start.Teste. Mesmo dentro da classe, da erro : BC30469: Referência a um membro não compartilhado requer referência de objeto.
Se voce declarar a variavel no escopo da classe, funciona com certeza.
Tópico encerrado , respostas não são mais permitidas