ASP.NET如何从代码后台传递变量到.aspx页面

9

我感觉我错过了什么,但我找不到一种从我的代码后台文件传递简单变量到.aspx页面的方法。

在代码后台中:

Dim test As String = "test"

在我的aspx页面中我尝试:<%=test %>

这给了我以下错误:Error 2 'test' is not declared. It may be inaccessible due to its protection level

我是不是忘记了什么?

5个回答

8

test声明为属性(在类级别),而不是局部变量,然后像您当前在标记中使用的方式一样引用它(aspx)。

VB.NET 10(自动属性):

Protected Property test As String = "Test" 

VB.NET 10之前的版本不支持自动属性。

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

有了该属性后,您应该直接在代码后端将值分配给它。

声明属性(property)而非字段(field)有哪些优点?如果get和/或set不需要逻辑,我就看不出有什么优点了。 - Tomasi

1

使用protected修饰符。

Protected test As String = "test"

你有关于这个更多的信息吗? - Jorre

0

尝试将其更改为...

Public test As String = "test"

那么它应该可以工作。

从这里开始 http://msdn.microsoft.com/en-us/library/76453kax.aspx ...

在模块级别上,没有任何访问级别关键字的 Dim 语句等同于一个 Private 声明。然而,您可能希望使用 Private 关键字使您的代码更易于阅读和解释。


0

声明变量时使用protected或者public关键字:

Protected  test As string = "test"

在 .aspx 文件中:

<%=test%>

欢迎来到 Stack Overflow。请阅读 Stack Overflow:如何回答问题 - Our Man in Bananas

0

将代码更改为

Protected test As String = "test"(在.vb文件中)

<%=Me.test%>(位于标记内部)

编辑:根据@Ahmed的建议,最好创建一个属性而不是提供的变量。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接