2

我们有一组符合 dll 的用户控件。我们可以使用它们的类名加载控件,就像ASP.theusercontrol_ascx blah = new ASP.theusercontrol_ascx();

但是如果我们有动态数据并根据文件名(或控件名称)加载控件,我们如何加载它们Page.LoadControl("TheURL/theusercontrol.ascx")呢?

非常感谢...

4

1 回答 1

3

确实没有正确的方法来做到这一点。.ascx 文件并不意味着可以以这种方式部署。代码已编译为 .dll,但 .ascx 文件中的实际标记尚未编译。即使您遵循有关将 .ascx 文件转换为可部署控件的官方 Microsoft 文档,您也无法根据文件名调用 LoadControl,这仅仅是因为不再有标记文件。

有许多技巧可以让您通过反射和嵌入 .ascx 文件作为资源来实现。

除此之外,如果您确实需要使用LoadControl(filename).ascx 文件,则需要复制。

于 2009-12-16T04:35:48.290 回答