我正在尝试创建一个使用自定义网格(子类)的控件(父类)。网格有一系列构造函数和方法,用于根据 [父] 控件中的属性值填充自身。
我发现使这些属性值可用于网格的唯一方法是使它们成为可能,Shared
但这会给我带来各种问题。
要求
- 控件(父)中的属性必须可供网格(子)访问。
- 控件中的属性必须在设计时属性资源管理器中可见。
- 网格类只能由父类实例化。
作为旁注:请说明您的回答是否允许我在孩子和父母之间来回分享属性/方法。那会很好,但只是奖金。
谢谢 ;)
编辑 - 基于我的情况的一个非常简单的例子:
Partial Public Class catContent
Inherits System.Web.UI.UserControl
Protected Sub Page_Load(sender, e) Handles Me.Load
Page.Controls.Add(New CategoryResultGrid(category))
End Sub
Private Shared _product As String = String.Empty
Shared Property Product() As String
Get
Return _product
End Get
Set(ByVal value As String)
_product = value.Trim()
End Set
End Property
Private Class CategoryResultGrid
Inherits GridView
Sub New(ByVal category As String)
'How do I access "Product" here without sharing it?
End Sub
End Class
End Class