我正在开发一个独立的 ASP .NET 组件,用于插入我们创建的各种站点。应用程序的一部分是一个 CompositeControl,它需要加载一个 UserControl。
然而,CompositeControl 没有 LoadControl() 方法——相反,我必须(据我所知?)依赖 Page.LoadControl(),这是一个问题!
当页面不是程序集的一部分时,我如何知道我的控件的路径?CompositeControl 所在的页面位于我正在编写 Page.LoadControl() 代码的程序集之外,因此找不到我的 .ascx 文件。
我试过 LoadControl(type, object[]) 但这不会加载我需要的“代码 infront”文件。
那么 - 如何在我的 Page.LoadControl 的某些包含的程序集(名称已知,ofc)中找到某些 .ascx 文件的路径?或者,是否有其他方法可以从 CompositeControl 内部加载控件?
干杯!
编辑:
以下提供了解决方案,虽然它有点hacky。但是它确实有效: http ://www.cmswire.com/cms/tips-tricks/aspnet-reusing-web-user-controls-and-forms-000915.php