2

我有一个 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 类,因此我无法转换为它来设置自定义属性(我可以加载它,但不能转换它) . 我不知道如何从 App_Code 类中复制 <% Reference...> 东西。任何人都知道我如何从 App_Code 类中引用(并因此转换)我的 ascx 吗?谢谢。

4

1 回答 1

6

App_Code编译为无法引用 CodeFile 中的类型的单独程序集。

但是您可以将接口/基类添加到您的App_Code文件夹中,以标识您打算在用户控件中实现的自定义属性和方法:

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;
于 2011-03-04T12:49:31.617 回答