【问题标题】:asp.net pass variable from code behind to .aspxasp.net 将变量从后面的代码传递到 .aspx
【发布时间】:2010-09-25 14:58:38
【问题描述】:

我想我在这里遗漏了一些东西,但我找不到将一个简单变量从我的代码隐藏文件传递到 .aspx 页面的方法。

在我后面的代码中:

Dim test As String = "test"

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

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

我是不是忘记了什么?

【问题讨论】:

    标签: asp.net vb.net


    【解决方案1】:

    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
    

    属性到位后,您应该直接在代码隐藏中为其赋值。

    【讨论】:

    • 声明属性而不是字段有什么好处?如果获取和/或设置不需要逻辑,我看不到任何内容。
    【解决方案2】:

    使用 protected 修饰符。

    Protected test As String = "test"
    

    【讨论】:

    • 你有更多这方面的信息吗?
    【解决方案3】:

    把代码改成

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

    <%=Me.test%>(在标记内)

    编辑:正如@Ahmed 所建议的,最好创建一个属性而不是像我提供的那样的变量。

    【讨论】:

      【解决方案4】:

      尝试将其更改为...

      Public test As String = "test"
      

      那么它应该可以工作。

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

      在模块级别,没有任何访问级别关键字的 Dim 语句等效于 私人声明。但是,您可能希望使用 Private 关键字来制作代码 更容易阅读和解释。

      【讨论】:

        【解决方案5】:

        声明变量protectedpublic

        Protected  test As string = "test"
        

        在 .aspx 文件中:

        <%=test%>
        

        【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2013-07-03
        • 2011-10-23
        • 2023-03-11
        • 2012-03-18
        • 1970-01-01
        相关资源
        最近更新 更多