从用户控件访问父页面属性

s15*_*99d 8 vb.net asp.net

尝试从我的用户控件上的父页面访问属性.

这是我的default.asp代码隐藏的开始:

Partial Class _Default
     Inherits System.Web.UI.Page

     Private _selectedID As String = "74251BK3232"

     Public Property SelectedID() As String
          Get
               Return _selectedID 
          End Get
          Set(ByVal value As String)
               _selectedID = value
          End Set
     End Property
Run Code Online (Sandbox Code Playgroud)

这是我的用户控制代码隐藏的开始:

Partial Class ctrlAddAttribute
    Inherits System.Web.UI.UserControl
     Dim selectedID As String = Me.Parent.Page.selectedID()
Run Code Online (Sandbox Code Playgroud)

我收到错误"selectedID不是System.Web.UI.Page的成员"

请adivse!

Tim*_*ter 9

将页面强制转换为名为_Default的实际实现时,可以访问该属性.

Dim selectedID As String = DirectCast(Me.Page,_Default).selectedID()
Run Code Online (Sandbox Code Playgroud)

但这不是Usercontrol(可重用性)的目的.通常,您可以将Controller(页面)中的ID提供给UserControl.

因此,在UserControl中定义属性并从页面设置它.通过这种方式,UserControl仍然可以在其他页面中工作.