我有一个类库。此库包含widget.ascx控件。如何从web加载此润湿控件。我知道"LoadControl“。但这不适用。
如何从库中加载web用户控件?
2009.09.24
我的主要目标是创建基于addon的web应用程序。每个插件都将是web应用程序的小部件。
我需要从库中动态加载web用户控件。
发布于 2009-09-23 18:42:28
您需要将库的引用添加到web项目中。
然后像使用任何其他控件一样实例化它,无论是通过编程方式还是在@Register指令中。
善良,
丹
发布于 2009-09-23 19:35:45
除了明显地将DLL添加到项目引用之外,还需要注册控件。您可以在将使用该控件的每个页面上这样做,但我通常更喜欢在web.config中这样做。作为一个快速的例子,下面是我在我的应用程序中注册UltraWebGrid控件的行。
<pages>
<controls>
<add tagPrefix="ig" namespace="Infragistics.WebUI.UltraWebGrid" assembly="Infragistics35.WebUI.UltraWebGrid.v8.2, Version=8.2.20082.1000, Culture=neutral, PublicKeyToken=7DD5C3163F2CD0CB"/>
</controls>
</pages>TagPrefix工作起来有点像一个页面中的命名空间,所以如果我从一个DLL导入了一组控件,它们可能都有相同的TagPrefix。在页面中,我只需按以下方式引用我的控件:
<ig:UltraWebGrid runat="server" SetSomeOtherPropertiesToo="blah" />发布于 2009-09-23 20:42:22
我不确定.ascx文件是如何添加到类库中的。通常,用户控件是使用LoadControl加载的,这需要一个现有文件。如果将用户控件编译为类库中的嵌入式资源,则可以使用GetManifestResourceStream()读取用户控件的内容,然后使用ParseControl从使用GetManifestResourceStream读取的字符串创建控件。
https://stackoverflow.com/questions/1467861
复制相似问题