我正在尝试从用户控件访问母版页内页面的公共属性,该用户控件也在同一母版页内。我见过的大多数示例都建议我将属性中的值放在页面上的隐藏元素中,并通过获取对母版页的引用并使用类似的东西来访问它
Dim mstr As MasterPage = Page.Master
Dim element = mstr.FindControl("hiddenField1"), HiddenField)
或以其他方式将值放入 cookie、URL 等并从用户控件中读取。
但是我能够使用
Protected Sub Page_Load(sender As Object, e As System.EventArgs) Handles Me.Load
Dim mstr As MasterPage = Page.Master
Return CallByName(mstr.Page, "ProductCounter", [Get])
End Sub
由于我的解决方案适用于
CallByBame 基本上为您提供“后期绑定”,即“在运行时找出方法”,而不是编译器为您找出方法的“早期绑定”。
我想知道,考虑其他解决方案。考虑到性能、安全性、类型安全等,第二种方式仍然是实现这一目标的劣势方法吗?
编辑:Icarus的答案适用于 asp..net Web 应用程序,但不适用于 asp.net 网站。我正在寻找一个适用于后者的答案。