【问题标题】:How do I declaratively insert a property value of a page into it's rendering?如何以声明方式将页面的属性值插入到它的呈现中?
【发布时间】:2025-12-13 10:30:01
【问题描述】:

我想要一个包含类似...的 aspx 页面。

<form id="form1" runas=server >
    Hello <%= Me.UserName() %>
</form>

还有一个类似...的代码隐藏

Public Class Somepage
    inherits SomeOtherPage
    Private Readonly Property UserName() as String
    Get
        return "Rory"
    End Get
    End Property
End Class

我已尝试过此代码,但 aspx 错误声称未声明 UserName。

这样做的正确方法是什么?

【问题讨论】:

    标签: asp.net properties declarative


    【解决方案1】:

    将属性标记为受保护,而不是私有。

    Protected Readonly Property UserName() as String    
         Get        
              return "Rory"    
         End Get    
    End Property
    

    【讨论】:

    • 我忘记了 aspx 继承自 Declared 类,而不是偏袒它...伙计,我现在感觉很愚蠢 :)
    • 另一种方法,我认为保留封装的首选方法是使用标签控件并明确设置标签的文本属性。
    • 同意。我的例子被大大简化了。实际上,我正在填充许多 htmlinput 控件的 value 属性,这些控件的“名称”属性必须是固定的,因此我不能冒使用等效 ASPx 控件可能导致名称损坏的风险:)
    最近更新 更多