gpt4 book ai didi

asp.net - 在 App_Code 类中强制转换 ascx

转载 作者:行者123 更新时间:2023-12-02 04:08:06 25 4
gpt4 key购买 nike

我有一个 ascx,我想从 App_Code 中的类加载和转换它。虽然我可以从 aspx 页面让它工作,但我无法从 App_Code 类让它工作。

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 吗?谢谢。

最佳答案

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

但是您可以将接口(interface)/基类添加到您的 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;

关于asp.net - 在 App_Code 类中强制转换 ascx,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5193125/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com