C# 如何使用文件名从程序集中加载UserControl?
我们有一组符合dll的用户控件。我们可以使用它们的类名加载控件,比如C# 如何使用文件名从程序集中加载UserControl?,c#,asp.net,user-controls,assemblies,loadcontrol,C#,Asp.net,User Controls,Assemblies,Loadcontrol,我们有一组符合dll的用户控件。我们可以使用它们的类名加载控件,比如ASP.theusercontrol\u ascx blah=newasp.theusercontrol\u ascx() 但是如果我们有动态数据,并根据文件名(或控件名)加载控件, 我们如何像Page.LoadControl(“TheURL/theusercontrol.ascx”)那样加载它们 非常感谢…这并不是一个正确的方法。ascx文件不应该以这种方式部署。代码已编译为.dll,但.ascx文件中的实际标记尚未编译。即使
ASP.theusercontrol\u ascx blah=newasp.theusercontrol\u ascx()代码>
但是如果我们有动态数据,并根据文件名(或控件名)加载控件,
我们如何像Page.LoadControl(“TheURL/theusercontrol.ascx”)
那样加载它们
非常感谢…这并不是一个正确的方法。ascx文件不应该以这种方式部署。代码已编译为.dll,但.ascx文件中的实际标记尚未编译。即使您遵循上的Microsoft官方文档,您也无法基于文件名调用LoadControl,这仅仅是因为不再有标记文件
有很多方法可以让您通过反射和嵌入.ascx文件作为资源来实现
除此之外,如果确实需要使用LoadControl(filename)
,则需要复制.ascx文件 如果是这种情况,我们可以实例化用户控件。但问题是我们真的需要使用字符串进行实例化。。。这又是一次反思=(哦,好吧,我真的别无选择。反思又救了我的命。谢谢。