我有从UserControl类继承的类。
public class Module : UserControl
{
// Custom Property And Method
}
如何加载UserControl(.ascx)并转换为我的模块类?
更新:
我尝试了所有的建议,但最好的情况是我得到null。 错误是:无法将'ASP.UC_acsx'类型的对象强制转换为'BICT.Module'
我的班级是这样的:
namespace BICT
{
public class Module : UserControl
{
public Module()
{
// Some Initial
}
// and some extra property exp.
public int Index{ get; set;}
}
}
我的代码是什么东西?
答案 0 :(得分:1)
你不能,按设计。
Module
是UserControl
的派生类。因此,所有Module
个类都可以投放到UserControl
,但UserControl
个类无法投放到Module
(请参阅脚注)。阅读继承权。
脚注:是的,您当然可以将UserControl
投射到Module
,但前提是Module
首先是{{1}},并且只是加载了较低的类型。
答案 1 :(得分:0)
如何使用
(Module)Page.LoadControl("Module.ascx")
答案 2 :(得分:0)
您可以尝试以下代码:
Module module = LoadControl("Module.ascx") as Module;
if(module != null)
{
//it is an instance module
}