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