如何在Web用户控件中使用父(网页)属性?
还有一个问题: - 如何在Web用户控件中访问共享类(即App_Code文件夹中的类)属性。
由于
答案 0 :(得分:0)
您可以在asp.net用户控件中使用this.Page
来引用页面,它将始终为您提供添加该控件的页面。
您可以直接在任何用户控件中访问在App_code文件夹中声明的任何公共类,而不会出现任何问题。注意命名空间,如果遇到访问该类的问题,请确保编译项目。
答案 1 :(得分:0)
你可以,但我不确定它是一个干净/完整的OOP方法,如何设置公共属性或从页面传递用户控件的公共方法传递给它需要在控件中使用的值?
这是因为托管控件的页面应该是通用的,并且是包含控件的页面,而不是反过来。
如果这不适合您,那么您可以获取控件的Page属性并将其转换为您的页面类,然后您将能够访问其属性,但这将使您的控件具体而不是通用,它只会当控件托管在那个确切类型/类的页面中时工作。
答案 2 :(得分:0)
您必须将该媒体资源标记为公开。
var myVar = ((ParentPageClass)this.Page).YourProperty;
要访问共享类,您必须指定该类的名称空间:
YourProject.SomeNamespace.YourClass
或在.ascx.cs文件中包含命名空间
using YourProject.SomeNamespace;
将参数从父页面传递给用户控件是一种更清晰的方法。