2010-09-25 20 views
9

Supongo que me falta algo aquí, pero no puedo encontrar una manera de pasar una variable simple de mi código detrás del archivo a la página .aspx.asp.net variable de paso del código a .aspx

En código subyacente que tengo:

Dim test As String = "test"

y en mi página aspx Trato: <%=test %>

que me da el siguiente error: Error 2 'test' is not declared. It may be inaccessible due to its protection level

Estoy olvidando algo aquí ?

Respuesta

1

Utilice el modificador protegido.

Protected test As String = "test" 
+0

tienes más información sobre esto? – Jorre

+0

@Jorre: muestra de código agregado. –

0

Cambiar el código para

Protected test As String = "test" (en el archivo .vb)

<%=Me.test%> (dentro del margen de beneficio)

EDIT: Como sugiere @Ahmed, es mejor crear una propiedad en lugar de una variable como la que he proporcionado.

0

pruebe a cambiar a ...

Public test As String = "test" 

entonces debería funcionar.

Desde aquí http://msdn.microsoft.com/en-us/library/76453kax.aspx ...

At the module level, the Dim statement without any access level keywords is equivalent to a Private declaration. However, you might want to use the Private keyword to make your code easier to read and interpret.

8

Declarar test como una propiedad (a nivel de clase) en lugar de una variable local, a continuación, se refieren a ella como lo hace actualmente en su margen de beneficio (aspx).

VB.NET 10 (propiedades automáticas):

Protected Property test As String = "Test" 

Pre-VB.NET 10 (no hay soporte para las características automáticas)

Private _test As String 
Protected Property Test As String 
Get 
    Return _test 
End Get 
Set(value As String) 
    _test = value 
End Set 
End Property 

Con la propiedad en su lugar se debe asignar un valor directamente en su código subyacente.

+0

¿Cuáles son las ventajas de declarar una propiedad en lugar de un campo? No veo ninguno si no hay lógica necesaria para obtener y/o configurar. – Tomasi

0

variable de declarar lo siguiente protected o public:

Protected test As string = "test" 

Y en el archivo .aspx:

<%=test%> 
+0

Bienvenido a Stack Overflow. Lea [Desbordamiento de pila: cómo responder] (http://stackoverflow.com/questions/how-to-answer) –

Cuestiones relacionadas