代码之家  ›  专栏  ›  技术社区  ›  Mathieu Garstecki

在ASP.NET中实现网络控制工厂

  •  0
  • Mathieu Garstecki  · 技术社区  · 16 年前

    我发现创建.ascx控件的唯一方法是使用Page/UserControl类的LoadControl方法。然而,我发现将我的工厂与页面链接或将页面参数传递给工厂很麻烦。

    谢谢

    2 回复  |  直到 16 年前
        1
  •  1
  •   Mathieu Garstecki    16 年前

    public ControlsFactory
    {
        private Page _containingPage;
    
        public ControlsFactory(Page containingPage)
        {
            _containingPage = containingPage;
        }
    
        public CustomControlClass GetControl(string type)
        {
            ... snip ...
            CustomControlClass result = (CustomControlClass)_containingPage.LoadControl(controlLocation);
    
            return result;
        }
    }
    

        2
  •  0
  •   Min    16 年前

    打开reflector后,页面中使用的LoadControl功能在任何TemplateControl中都可用。

    好吧,至少你不需要到处传阅。子类化TemplateControl将起作用。