我有一个ascx,我想从App_Code中的类加载和转换。我无法从App_Code类开始工作,尽管我可以从aspx页面开始工作。
ASPX页面技术可以正常使用以下代码:
pc = LoadControl("enquirycapture.ascx");
((ASP.enquirycapture_ascx)pc).CustomProperty = customObject;
(注意:我在aspx页面中有以下内容:)
<%@ Reference VirtualPath="~/enquirycapture.ascx" %>
但是,当我尝试从App_Code类中转换控件时,它无法“看到”ascx类,因此我无法转换它来设置自定义属性(我可以加载它,但不能施展它)。我不知道如何复制&lt;%Reference ...&gt;来自App_Code类的东西。任何人都知道如何从App_Code类中引用(并因此强制转换)我的ascx?感谢。
答案 0 :(得分:6)
App_Code
编译为无法引用CodeFile中的类型的单独程序集。
但是您可以在App_Code
文件夹中添加接口/基类,以标识您要在usercontrol中实现的自定义属性和方法:
public class EnquiryCaptureBase : System.Web.UI.UserControl
{
public object CustomProperty { get; set; }
}
然后
public partial class EnquiryCapture : EnquiryCaptureBase
{
}
最后在App_Code
中的某个地方:
pc = LoadControl("enquirycapture.ascx");
((EnquiryCaptureBase)pc).CustomProperty = customObject;