将UserControl转换为我的自定义控件

时间:2010-12-23 08:33:04

标签: c# asp.net

我有从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;} 
    }
 }

我的代码是什么东西?

3 个答案:

答案 0 :(得分:1)

你不能,按设计。

ModuleUserControl的派生类。因此,所有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
}