ACESSAR VARIAVEL ASP.NET

HIDDEN 25/06/2011 18:43:10
#377742
Num bloco de declaração de código, declaro uma variável chamda minhaVariavel. Por exemplo:

<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 (<%=...%>) ?
TECLA 26/06/2011 20:53:36
#377784
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
HIDDEN 27/06/2011 13:30:22
#377844
Neste contexto deu certo. Agora, suponhamos que


<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?
KERPLUNK 27/06/2011 13:45:37
#377849
A variável está fora da classe, vc deveria se referir a ela como Start.Teste:
<p><%= Start.Teste %></p>
HIDDEN 27/06/2011 15:48:58
#377863
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.

TECLA 22/07/2011 15:23:23
#379759
Se voce declarar a variavel no escopo da classe, funciona com certeza.
Tópico encerrado , respostas não são mais permitidas