Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/asp.net/35.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 如何使用文件名从程序集中加载UserControl?_C#_Asp.net_User Controls_Assemblies_Loadcontrol - Fatal编程技术网

C# 如何使用文件名从程序集中加载UserControl?

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文件中的实际标记尚未编译。即使

我们有一组符合dll的用户控件。我们可以使用它们的类名加载控件,比如
ASP.theusercontrol\u ascx blah=newasp.theusercontrol\u ascx()

但是如果我们有动态数据,并根据文件名(或控件名)加载控件, 我们如何像
Page.LoadControl(“TheURL/theusercontrol.ascx”)
那样加载它们

非常感谢…

这并不是一个正确的方法。ascx文件不应该以这种方式部署。代码已编译为.dll,但.ascx文件中的实际标记尚未编译。即使您遵循上的Microsoft官方文档,您也无法基于文件名调用LoadControl,这仅仅是因为不再有标记文件

有很多方法可以让您通过反射和嵌入.ascx文件作为资源来实现


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

如果是这种情况,我们可以实例化用户控件。但问题是我们真的需要使用字符串进行实例化。。。这又是一次反思=(哦,好吧,我真的别无选择。反思又救了我的命。谢谢。